создать сайт // учебник perl // строковые литералы : операторы q и qq
Использование операторов q и qq
При наборе строки с большим количеством кавычек очень легко допустить ошибку, поскольку перед каждой внутренней кавычкой нужно обязательно поставить обратную косую черту, как показано ниже:
"И тогда я сказал: \"Иди вперёд\", а он ответил:
\"Слушаюсь!\"."
Поэтому для облегчения процесса квотинга (взятия в кавычки) предусмотрены специальные операторы q и qq. Оператор qq заменяет двойные кавычки и ведёт себя почти во всех случаях точно так же, как пара двойных кавычек:
qq(И тогда я сказал: "Иди вперёд", а он ответил: "Слушаюсь!".)
Одинарные кавычки могут быть заменены оператором q:
q('Литералы' нужно заключать в одинарные кавычки)
Для обозначения начала и конца строк в операторах q и qq можно использовать любые символы, кроме алфавитно-цифровых. Эти символы называются ограничителями. В предыдущих примерах я воспользовался скобками, но, как я уже говорил, допустимы любые символы, кроме алфавитно-цифровых:
q/'Литералы' нужно заключать в одинарные кавычки/
q{'Литералы' нужно заключать в одинарные кавычки}
Символы, которые вы хотите использовать в качесве ограничителей, следует указывать сразу после операторов q или qq - без пробелов. Вы можете использовать парные символы (), {}, [], <> со строками содержащими эти символы. Причём, если они идут парами внутри операторов q и qq, обратная косая четра не используется:
q(Джо (отец Тома) рубил все дереья подряд (кроме самых больших).)
Использование вложенных скобок или других символов может снизить читабельность программы. Поэтому обычно используют ограничители, символы которых не встречаются в строке:
q[Джо (отец Тома) рубил все дереья подряд (кроме самых больших).]
|