Введение в Perl

       

Список может быть присвоен списку



Пример 12

print ('январь','февраль','март')[1]; Результат: февраль
Список может быть присвоен списку только если каждый элемент в списке в левой части выражения допустим по типу списку в правой части.


Пример 12

$var = "12345"; # исходная строка $var =~ s/1/0/; # Заменить '1' на '0'. Результат 02345 $var =~ s(5)(.); # Заменить '5' на '.' Результат 0234. Здесь в качестве разделителя применены скобки, поэтому подстрока взята в две скобки.
$var =~ s/\d*/каламбур/; Заменить все цифры. Результат 'каламбур.' $var =~ s/а/о/g; # Заменить все 'а' на 'о'. Результат 'коломбур.' $var = "12 34"; # Новое значение $var =~ s/(\d\d) (\d\d)/$2 $1/; # Поменять местами числа. Результат '34 12'. tr/таблица1/таблица2/cds


y/таблица1/таблица2/cds
Замена всех символов из "таблица1" на соответствующий символ из "таблица2". Результат - количество замен или стираний. Без оператора =~ или != операция выполняется со строкой $_. Для совместимости с программой sed вместо tr можно писать 'y'.
Опции:
c - дополнение "таблица1"
d - стереть найденные, но не замененные символы.
s - "сжать" повторяющиеся замененные символы.
Если указана опция /d таблица2 всегда интерпретируется как положено. Другими словами, если таблица2 короче, чем таблица1, то символ из таблицы1 интерпретируется всегда. Если таблица2 - null, то все символы строки остаются неизменными. Это удобно для подсчета количества символов в строке определенного класса или для сжатия повторяющихся символов, например, пробелов.



Пример 12

for ($i = 2; $i < 5; ++$i) { print $i, " "; } print "\ nПосле цикла i = $i\n"; Результат:
  • 2 3 4
    После цикла i = 5


Содержание раздела