Операторы ограничители строк
Операторы ограничители строк.
Обычно ограничителями строк мы считаем литералы, но в Perl это операторы выполняющие разного рода интерполяцию и поиск по шаблону. Вы можете сами задавать удобные для вас ограничители. В следующей таблице приведен полный перечень вариантов. Фигурные скобки '{}' обозначают любой символ, используемый для ограничителя. В случае использования скобок (круглых '()', квадратных '[]', фигурных '{}', угловых '<>') в начале ставится открывающаяся скобка, а в конце закрывающая.
| '' | q{} | Literal | нет |
| "" | qq{} | Литерал | да |
| `` | qx{} | Команда | да |
| qw{} | Список слов | нет | |
| // | m{} | Шаблон | да |
| s{}{} | Подстановка | да | |
| tr{}{} | Трансляция | нет |
В строках допускающих интерполяцию имена переменных, начинающиеся с символов '$' или '@' - интерполируются, т.е. в строку вставляется значение строки или массива. Данные последовательности символов имеют специальное значение:
| \t | символ табуляции |
| \n | символ новой строки |
| \r | возврат |
| \f | перевод формата |
| \v | вертикальная табуляция |
| \b | backspace (забой) |
| \a | звонок |
| \e | escape |
| \034 | восьмеричный символ |
| \x1a | шестнадцатеричный символ |
| \c[ | символ управления |
| \l | нижний регистр следующего символа |
| \u | верхний регистр следующего символа |
| \L | нижний регистр для всех символов до \E |
| \U | верхний регистр для всех символов до \E |
| \E | ограничитель смены регистра |
| \Q | отмена действия метасимволов до \E |
Шаблоны интерполируются как регулярные выражения. Это выполняется вторым проходом после интерполяции переменных, поэтому в шаблоны можно вставлять переменные. Для отмены интерполяции используйте '\Q'. Если вы применяете вложенные ограничители, то внутренние ограничители работать не будут.