При подстановке переменной ее имя должно быть отделено разделителями от остальных символов строки, причем это правило не обязательно для первого символа имени переменной, так как интерпретатор, встретив символ "$" в строке, ограниченной двойными кавычками, начинает выделять правильный идентификатор.
Разделителями могут быть пробелы или управляющие последовательности. Можно и явно указать идентификатор переменной, задав его в фигурных скобках. Подобная техника демонстрируется следующим фрагментом программы:
$day = 'пятницу';
$number = 5;
$html = "HTML";
$s = "${html}-документ отослан B\n$day\t$number февраля.";
print $s;
Результатом выполнения этого фрагмента будет отображение двух строк на экране монитора:
HTML-документ отослан в пятницу 5 февраля.
Переменная $htmi подставляется с явным указанием ее идентификатора, для выделения идентификаторов остальных переменных используются разделители.
Подставлять можно скалярные переменные, значения которых определены с помощью числовых и любых типов строковых литералов, причем строка в обратных кавычках интерпретируется как команда операционной системы.
Замечание
Рассмотренные в этом параграфе различные типы кавычек для задания строковых литералов на самом деле являются всего лишь удобной формой записи операций языка Perl: q//, qq/7, qx/7.
(Эти операции подробно будут рассмотрены в главе 4).
Синтаксический анализатор языка Perl при анализе текста программы выделяет слова (не заключенная в кавычки последовательность алфавитно-цифровых символов) и определяет их принадлежность набору ключевых слов. Если слово не является ключевым, то интерпретатор рассматривает его как строку символов, заключенную в кавычки. Это позволяет задавать строковые литералы, не заключая их в кавычки:
$day = Friday; # Тождественно оператору $day = 'Friday';
Такие слова без кавычек в тексте программы иногда еще называют
простыми словами
(barewords).
Задание строковых литералов без кавычек возможно