Операции связывания. Именованные унарные операции.
Операции сопоставления с образцом, используемые многими утилитами обработки текста в 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.)