Альтернативные последовательности разделяются символом '|' Заметьте что внутри квадратных скобок это обычный символ. 6. Внутри регулярного выражения можно указыват «подшаблоны» заключая их в круглые скобки и ссылаться на них как '\номер' Первая скобка обозначается как '\1'.
*Операторы и приоритеты* В Перл ассоциативность и приоритетность операторов аналогична языку C Ниже перечислены все операторы в порядке уменьшения приоритета, в начале строки указана ассоциативность. ассоц. операторы – – левая термы и левосторонные списковые операторы левая -> – ++ – правая ** правая ! ~ \ унарные + и - левая =~ !~ левая * / % x левая + – . левая << >> – именованные унарные операторы – < > <= >= lt gt le ge – == != <=> eq ne cmp левая & левая | ^ левая && левая || – .. правая ?: правая = += -= *= и т.д. левая , => – правосторонние списковые операторы левая not левая and левая or xor
Термы и левосторонние списковые операторы. Любой терм имеет самый высокий приоритет. К терму относятся переменные, кавычки и их операторы, арифметические и логические выражения в скобках, любые функции с параметрами в скобках. Фактически таких функций нет так как это просто унарные и списковые операторы просто они ведут себя подобно функциям с параметрами в скобках. Подробно смотри главу «Функции». Если после любого спикового оператора ( print(), и т.д.) или унарного оператора (chdir(), и т.д.) следует левая круглая скобка, то операторы внутри скобок имеют наивысший приоритет. Так же как и обычные функции. Если скобки отсутсвуют то приоритет списковых операторов или наивысший или наименьший в отношении операторов справа или слева от него. Например: @i = ('a ','b ', print 'c ', 'd '); print «\n»,@i,"\n"; Результат: c d a b 1 Здесь мы имеем списковый оператор print. Для запятых слева от него он имеет наименьший приоритет, но повышает приоритет правой запятой. Поэтому правая запятая воспринимается как параметр для print и печатается 'c d' а левая просто записывает код завершения операции в массив @i и последний print показывает это.
Оператор
'->' Так же как в С или С++ это инфиксный оператор переадрессации.
|