На этом шаге мы приведем общие сведения об операциях заключения в кавычки.
Кавычки (одинарные, двойные и обратные) в Perl мы используем для задания строковых литералов, причем получающиеся результирующие строковые данные существенно зависят от используемого типа кавычек: символы строки в одинарных кавычках трактуются так, как они в ней заданы, тогда как некоторые символы ($, @) или даже последовательности символов (\n, \t) в строке в двойных кавычках выполняют определенные действия. Все дело в том, что в Perl кавычки - это всего лишь удобный синтаксический эквивалент определенных операций, выполняемых над символами строки.
В языке, кроме трех перечисленных операций заключения в кавычки, определен еще ряд операций, выполняющих определенные действия со строковыми данными и внешне похожих на операции заключения в кавычки, на которые мы будем в дальнейшем ссылаться так же, как на операции заключения в кавычки.
Все операции заключения в кавычки представлены в таблице 1 с эквивалентным синтаксисом (если таковой существует) и кратким описанием действий, выполняемых при их выполнении.
Общая форма | Эквивалентная форма | Значение | Возможность подстановки |
---|---|---|---|
q{} | ' ' | Строковый литерал | Нет |
qq{} | " " | Строковый литерал | Да |
qx{} | ` ` | Команда системы | Да |
qw{} | {} | Список слов | Нет |
m{} | // | Поиск по образцу | Да |
qr{} | Образец | Да | |
s{}{} | Подстановка | Да | |
tr{}{} | y/// | Транслитерация | Нет |
При использовании общей формы операции заключения в кавычки вместо фигурных скобок {}, представленных в таблице 1, можно использовать любую пару символов, выбранную в качестве разделителя. Если выбранный символ не является какой-либо скобкой (круглой, угловой, квадратной или фигурной), то он ставится в начале и в конце строки, к которой должна быть применена соответствующая операция, тогда как в случае использования скобок-разделителей сначала используется открывающая скобка, а в конце закрывающая. Между знаком операции и строками в символах-разделителях может быть произвольное число пробельных символов. Обычно в качестве разделителя программистами Perl используется косая черта "/", хотя это и не обязательно.
В таблице 1 в последнем столбце также указывается, осуществляет ли соответствующая операция подстановку значений скалярных переменных и массивов, а также интерпретацию управляющих символов.
В следующих шагах мы остановимся только на первых четырех операциях заключения в кавычки. Остальные операции, как непосредственно связанные с регулярными выражениями, будут подробно рассмотрены позже.
На следующем шаге мы рассмотрим операцию q{}.