Присвоить указанным переменным поля входной
Пример 3
#!/usr/local/bin/perl open(PASS, "</etc/passwd") || die "Файл не найден!"; while(<PASS>) { ($login, $pass, $uid, $gid, $name, $home_dir, $shell) = split(':'); print "$login \t $name\n"; } close(PASS); Пояснение:
($login, $pass, $uid, $gid, $name, $home_dir, $shell) = split(':'); Присвоить указанным переменным поля входной строки, считая разделителем символ ':'.
print "$login \t $name\n"; Вывести login - имя пользователя и его описание. Поля разделены символом '\t' - табуляции.
Пример 3
%var, %key, %years Имена подпрограмм начинаются символом '&', если из контекста не видно, что это подпрограмма.
Пример 3
print(pack("ccc",65,66,67)); # Результат ABC print(pack("A4A3","ab","cdefg")); # "ab cde" print(pack("a4a3","ab","cdefg")); # "ab\0\0cde"
Пример 3
print '*' x 5; # Результат '*****' print (1,2) x 3; # Результат 121212
Пример 3
$s = "1+2-3*4"; if ($s =~ /(\d)(?!\+)/) # Найти цифру за которой не стоит '+' { print "$1\n"; # Результат '2' } else { print "ошибка поиска\n";} (?ismx)- "внутренние" модификаторы. Удобно применять в шаблонах, где например нужно внутри шаблона указать модификатор.
Правила регулярного выражения. (regex)
- Любой символ обозначает себя самого, если это не метасимвол. Если вам нужно отменить действие метасимвола, то поставьте перед ним '\'.
- Строка символов обозначает строку этих символов.
- Множество возможных символов (класс) заключается в квадратные скобки '[]', это значит, что в данном месте может стоять один из указанных в скобках символов. Если первый символ в скобках это '^' - значит ни один из указанных символов не может стоять в данном месте выражения. Внутри класса можно употреблять символ '-', обозначающий диапазон символов. Например, a-z - один из малых букв латинского алфавита, 0-9 - цифра и т.д.
- Все символы, включая специальные, можно обозначать с помощью '\' как в языке С.
- Альтернативные последовательности разделяются символом '|' Заметьте что внутри квадратных скобок это обычный символ.
- Внутри регулярного выражения можно указывать "подшаблоны" заключая их в круглые скобки и ссылаться на них как '\номер' Первая скобка обозначается как '\1'.
Пример 3
$var = 1; print $var++ while $var < 5; # Печать $var с инкрементом Результат: 1234
until EXPR- Модификатор "до ". Предложение выполняется до тех пор пока EXPR = false