Первый сайт на Perl



              

Скалярный тип данных - часть 9


При подстановке переменной ее имя должно быть отделено разделителями от остальных символов строки, причем это правило не обязательно для первого символа имени переменной, так как интерпретатор, встретив символ "$" в строке, ограниченной двойными кавычками, начинает выделять правильный идентификатор.

Разделителями могут быть пробелы или управляющие последовательности. Можно и явно указать идентификатор переменной, задав его в фигурных скобках. Подобная техника демонстрируется следующим фрагментом программы:

$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).

Задание строковых литералов без кавычек возможно




Содержание  Назад  Вперед