Скалярный тип данных - часть 10
только
для литералов, содержащих буквы латинского алфавита. Попытка применить подобную технику для литералов, содержащих буквы русского алфавита, приведет к ошибке компиляции.
Завершая разговор о литералах, следует упомянуть о специальных литералах языка Perl: _LINE_, _FILE_, _END_ и _DATA_. Они являются самостоятельными лексемами, а не переменными, поэтому их нельзя вставлять в строки. Литерал _LINE_ представляет номер текущей строки текста программы, а _FILE_— имя файла программы. Литерал _END_ используется для указания логического конца программы. Информация, расположенная в файле программы после этого литерала, не обрабатывается интерпретатором, но может быть прочитана через файл с дескриптором DATA. Последний литерал _DATA_ аналогичен литералу _END_, только дополнительно он открывает файл с дескриптором DATA для чтения информации, находящейся в файле программы после него. Программа примера 3.6 демонстрирует использование специальных литералов.
#! /per!520/bin/perl -w
$file = _FILE_;
$prog = _LINE_;
print "Находимся в строке: $prog\n",
"Файл: $file";; _END_ print "Текст после лексемы _END_";
Результат работы этой программы будет следующим, если файл программы хранится в файле D:\PerlEx\examplel.exe:
Находимся в строке: 3
Файл: D:\PERLEX\EXAMPLE1.PL
Вывода последнего в программе оператора печати не наблюдается, так как он расположен после лексемы _END_.