Иллюстрированный самоучитель по Perl

Операции связывания. Именованные унарные операции.

Операции сопоставления с образцом, используемые многими утилитами обработки текста в Unix, являются мощным средством и в языке Perl. Эти операции с регулярными выражениями включают поиск (m//), подстановку (s///) и замену символов (tr///) в строке. По умолчанию они работают со строкой, содержащейся в системной переменной $_. Операции =~ и \~ связывают выполнение сопоставления с образцом над строкой, содержащейся в переменной, представленной левым операндом этих операций:

$_ = "It's very interesting!";
s/very/not/; # Переменная $_ будет содержать строку
# "It's not interesting!"
$m = "my string";
$m =~ s/my/our/; i Переменная $m будет содержать строку
tt "our string"

Возвращаемым значением операции =~ является Истина, если при выполнении соответствующей ей операции сопоставления с образцом в строке была найдена последовательность символов, определяемая регулярным выражением, и Ложь в противном случае. Операция !~ является логическим дополнением к операции =~.

Следующие два выражения полностью эквивалентны:

$m!~ m/my/our/; not $m =~ m/my/our/;

(Более подробно регулярные выражения и операции связывания рассматриваются в части 10.)

Именованные унарные операции

В языке Perl определено большое количество встроенных функций, выполняющих разнообразные действия. Некоторые из них, с точки зрения синтаксического анализатора языка, на самом деле являются унарными операциями, которые и называют именованными унарными операциями, чтобы отличить их от унарных операций со специальными символами в качестве знаков операций (например, унарный минус "-", операция ссылки "\", логического отрицания "!" и т. д.). Некоторые из именованных унарных операций перечислены ниже:

chdir, cos, defined, goto, log, rand, rmdir, sin, sqrt, do, eval, return

(Является ли функция унарной операцией, можно определить в приложении 1.)

К именованным унарным операциям относятся также все операции проверки файлов, синтаксис которых имеет вид:

-символ [имя_файла\дескриптор_файла]

Например, для проверки существования файла определена операция , выяснить возможность записи в файл можно операцией -w.

(Более подробно операции проверки файлов рассматриваются в части 7.)

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.