П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 180128 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 78197 раз(а).

Учебник HTML.
Просмотров 75548 раз(а).

Руководство по PHP5.
Просмотров 46599 раз(а).

Хостинг через призму DNS.
Просмотров 54000 раз(а).

Подборка текстов стандартных документов.
Просмотров 46522 раз(а).

Учебник PHP - Самоучитель
Просмотров 52678 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 53276 раз(а).

Внешние атаки...
Просмотров 43077 раз(а).

Учебник PHP.
Просмотров 38656 раз(а).

SSI в примерах.
Просмотров 28590 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





Глава 2: Скалярные данные.
2.4 Скалярные операции и функции
2.4.3 Функции chop и chomp

Весьма полезной иногда бывает встроенная функция chop. Эта функция принимает один аргумент, указываемый в круглых скобках — имя скалярной переменной — и удаляет из строкового значения этой переменной последний символ. Например:

$х = "hello world";
chop($x);           # $x теперь имеет значение "hello worl"

Обратите внимание: значение аргумента здесь меняется, отсюда и требование к наличию скалярной переменной, а не просто скалярного значения. Писать chop (' suey'), чтобы превратить аргумент в 'sue', не имеет смысла, потому что места для хранения этого значения нет. Кроме того, можно ведь и просто написать: ' sue '.

Возвращаемое значение для этой функции — отброшенный символ (в приведенном выше примере с "hello world" это буква d). Следующий код, очевидно, неверен:

$х = chop($x); # НЕВЕРНО: заменяет $х ее последним символом 

chop($x); # ВЕРНО: как и выше, удаляет последний символ

Если в функции chop задать пустую строку, то она ничего не сделает и ничего не возвратит, не выдавая сообщения об ошибке и вообще никак не реагируя*. Большинство операций в Perl имеют разумные граничные условия; другими словами, вы можете использовать их в пределах накладываемых ограничений и за ними, причем часто без какой-либо реакции с их стороны. Некоторые утверждают, что это один из фундаментальных недостатков Perl, а другие пишут первоклассные программы, нисколько не утруждая себя заботой о соблюдении этих ограничений. Вам решать, к какому лагерю присоединяться.

При усечении уже усеченной строки отбрасывается еще один символ. Например:

$а = "hello world\n";

chop $a; # теперь $а имеет значение "hello world"

chop $a; # оп-ля! теперь $а имеет значение "hello worl"

Если вы не уверены в том, есть ли в конце переменной символ новой строки, можете использовать несколько более безопасную операцию chomp, которая удаляет только символ новой строки**, например:

$а == "hello world\n";

chomp ($a); # теперь $а имеет значение "hello world"

chomp ($a); # ага ! никаких изменений в $а не произошло

* Если вы не используете соответствующий здравому смыслу ключ -w.

** Или иное значение, которое задано переменной $ \ в качестве разделителя входных записей.

Назад | Вперед
Содержание (общее) | Содержание раздела | Содержание подраздела



Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
 





Copyright © 2005-2016 Project.Net.Ru