m/PATTERN/cgimosx
$var =~ m/PATTERN/cgimosx
$s = "aaabbbccc" =~ m/b+/; $s = "aааbbbссс" !~ m/b+/;в обоих случаях будет найден фрагмент bbb. Но в первом случае возвращаемое значение, сохраненное в переменной $s, будет равно 1 («истина»), а во втором случае — пустой строке («ложь»).
s/PATTERN/REPLACEMENT/egimosx
$var =~ s/PATTERN/REPLACEMENT/egimosx
$str = "abaabbaaabbbaaaabbbb"; $result = $str =~ s/(a+b+)/length($1)/ge; print "result = $result new str = $str\n";будет выведено число сделанных замен $result и новое значение строки $str, в которой каждый найденный фрагмент, соответствующий образцу [а+b+], заменен числом, равным его длине:
result = 4 new str = 2468
tr/SEARCHLIST/REPLACEMENTLIST/cds
$str =~ tr/SEARCHLIST/REPLACEMENTLIST/cds
y/SEARCHLIST/REPLACEMENTLIST/cds
$str =~ tr/A-Z/a-z/;
$count = $str =~ tr/\000//c;
$str =~ tr/\200-\377/ /cs;
open(IN866,"866.txt"); open(OUT1251,">125l.txt"); while ($line=<IN866>) { $line =~ tr/\200-\257\340-\361/\300-\377\250\270/; print OUT1251 $line; } close(IN866); close(OUT1251);
qr/STRING/imosx
/^([^ ]*) *([^ ]*)/.Его можно использовать непосредственно в операции сопоставления с образцом:
if ($line =~ /^([^ ]*) *([^ ]*)/) {...}или сохранить в переменной $pattern = "^([^ ]*) *([^ ]*)" и обращаться к переменной:
if ($line =~ /$pattern/) {...}
$pattn = qr/^([^ ]*) *([^ ]*)/то переменная $pattn будет содержать откомпилированное регулярное выражение, которое можно неоднократно использовать без дополнительной компиляции.
Следующая страница | Содержание главы |
Нет комментариев. Оставить комментарий: |