PERL: БИБЛИОТЕКА ПРОГРАММИСТА


PERL: БИБЛИОТЕКА ПРОГРАММИСТА - стр. 37


В строковом контексте значение undef интерпретируется как пустая строка ( '"). В числовом контексте undef интерпретируется как 0, а в ссылочном — как нуль-ссылка. При этом во всех случаях оно считается ложным. Использование неопре­деленной величины там, где Perl ожидает получить определенную, приводит к записи в STDERR предупреждения времени выполнения (если был использован флаг -w). Для простого вопроса о том, является ли нечто истинным или ложным, предупреждение не выдается. Некоторые операции не выдают предупреждений при использовании переменных, содержащих неопределенные значения. К их чис­лу относятся операции автоматического увеличения и уменьшения, ++ и --, а так­же сложение и конкатенация с присваиванием, += и    =.

В программах строки записываются в апострофах или кавычках, в форме q// или qq// или «встроенных документов» (here-documents). Апострофы используют­ся в простейшей форме определения строк с минимальным количеством специаль­ных символов: ' — завершает строку, \' — вставляет в нее апостроф, а \\ — обрат­ную косую черту:

$string =  '\п',                                        й Два символа,  \ и п

$string =   'Jon \'Maddog\    Orwant'      # Внутренние апострофы

В строках, заключенных в кавычки, возможна интерполяция имен переменных (но не вызовов функций — о том, как это делается, см. рецепт 1.10). В них исполь­зуется множество служебных символов: ' \п" — символ перевода строки, "\033" — символ с восьмеричным кодом 33, "\cJ" — Ctrl+J и т. д. Полный список приведен в странице руководства perlop(l).

$stnng = '\n',                                        # Символ перевода строки

Sstring = 'Jon YMaddogV Orwant ,    8 Внутренние кавычки

Операторы q// и qq// позволяют чередовать разделители строк с апострофами и кавычками. Например, строку с внутренними апострофами проще записать в следующем виде, вместо того чтобы использовать служебные символы \':


28    Глава 1 • Строки

Sstring = q/Jon   'Maddog'  Orwant/;       # Внутренние апострофы




Начало  Назад  Вперед