Чтение онлайн

на главную

Жанры

Язык программирования Perl
Шрифт:

perldoc perlvar

О специальной переменной $_ следует поговорить особо. По своему назначению она выполняет роль местоимения "это" или "этот" (английские it или this). Ее употребляют, чтобы обратиться к обрабатываемому в текущий момент значению или порции данных. Эту переменную еще называют "переменной по умолчанию" или "буферной переменной", и многие встроенные функции в Perl-программе работают именно с этой переменной, если явно не указан другой аргумент. Например, при чтении из файла в нее может помещаться введенная строка, а функция print без параметров печатает значение переменной по умолчанию $_.

Большинство специальных переменных

являются глобальными, и программисту нужно быть очень осторожным при изменении их значений, так как в других частях программы и в подключаемых модулях может предполагаться их стандартное значение. Чтобы избежать нежелательной модификации таких переменных, нужно в каждой подпрограмме или блоке перед их изменением явно объявить их с помощью описателя local:

local $save_value = $_;

Тогда при выходе из блока будет восстановлено предыдущее значение специальной переменной.

В языке Perl, как и в языке командных интерпретаторов Unix, комментарий начинается с символа # и продолжается до конца строки:

$lecture_number = 2; # комментарий, занявший часть строки

# А это комментарий, занимающий всю строку

В первой строке программы на Perl можно увидеть особый комментарий: он начинается с символов #! (называемых shebang, от названия символов - sharp и bang), и в нем указывается путь к исполняющей системе perl (полный путь от корня файловой системы). В операционных системах семейства Unix эта строчка помогает сделать программу на Perl исполняемой (если установить для файла программы флаг, "исполняемый" командой chmod +x program.pl). В операционной среде Windows такой комментарий требуется использовать в CGI-программах для web-сервера Apache. Этот комментарий также удобен тем, что в нем можно указывать параметры для исполняющей системы Рerl: например, флаг -w для вывода дополнительных предупреждений компилятора:

#!C:\usr\local\perl\bin\perl -w

В Perl нет многострочных комментариев, подобных /* … */ в языке C или Java. (Хотя эту возможность можно добавить, если подключить модуль Acme::Comment, доступный в хранилище модулей CPAN.) Но если требуются комментарии из нескольких строк, то можно воспользоваться командами системы документирования Perl, называемой POD (от английского "Plain Old Documentation" - "старая добрая документация"). Такой многострочный комментарий можно записать в виде

=pod

Знак = должен располагаться в самом начале строки.

Текст этого комментария фактически является

документацией в формате POD, встроенной в текст программы.

Конец комментария (=cut) также должен быть в начале строки.

=cut

POD представляет из себя систему разметки текста, в том числе программной документации, который можно просматривать, печатать или конвертировать в другой текстовый формат, например, в HTML. Документация может храниться в текстовых файлах, обычно с суффиксом pod. Но благодаря тому, что компилятор perl игнорирует текст, окруженный командами POD, документацию можно встраивать в нужные места исходного текста программы. Вот наиболее часто используемые команды POD для оформления документации на программу, которые встречаются при чтении исходных текстов на Perl:

=pod

Начало документации (использовать не обязательно).

=headN текст заголовка

Заголовок N-го уровня. Уровень N может быть от 1 до 4.

=over N

Абзац с отступом в N знаков, например, начало списка.

=item заглавие элемента

Начало элемента списка.

=back

Окончание списка.

=cut

Окончание POD-документации, возврат к тексту программы.

Прочитать встроенную в программу POD-документацию в отформатированном виде можно с помощью поставляемой утилиты просмотра:

perldoc program_with_pod

Описание в формате POD можно преобразовать в web-страницу поставляемой в комплекте с perl утилитой:

pod2html --outfile=program.html program_with_pod

Конечно, возможностей у системы POD гораздо больше. Узнать о них можно из поставляемой с дистрибутивом Perl документации, прочитав ее с помощью утилиты просмотра документации:

perldoc perlpod

В этой лекции изложены сведения о литералах и переменных - "молекулах" языка Perl. Они служат основой для создания выражений-"клеток", по воле программиста превращающихся в "живые организмы" - программы на языке Perl, многие из которых проживают долгую жизнь, развиваясь и принося пользу людям. В нескольких следующих лекциях будет излагаться "анатомия" Perl, без знания которой нельзя приступать к написанию программ...

Лекция 3. Основные операции

В этой лекции описываются скалярные операции языка Perl, для удобства разделенные на группы. Рассматриваются их особенности, правила записи и порядок вычислений в выражениях.

Цель лекции: познакомиться с богатым набором операций языка Perl, узнать их особенности и научиться правильно применять их при составлении выражений.

Операции (также называемые операторами) в Perl многочисленны и разнообразны, с их помощью образуются арифметические, логические, строковые и другие выражения - конструкции, вычисляющие некоторый результат, хотя он не всегда может использоваться. Элементы выражения, над которыми производится операция, называются операндами. Результат операции в Perl может зависеть от контекста, в котором она выполняется. Но часто и сама операция устанавливает определенный контекст, влияющий на преобразование операндов. Конкретные правила вычисления выражений будут изложены при подробном рассказе о каждой из операций.

Конечно же, в Perl, как и в других языках программирования, есть традиционные арифметические операции:

* умножение (например, 2 * 2 будет 4)

/ деление (например, 11 / 2 будет 5.5)

+ сложение (например, 111 + "999" будет 1110)

– вычитание (например, '26' - 1 будет 25)

Обратите внимание на особенность арифметических операций в Perl - в них могут участвовать и строки. При этом, попадая в числовой контекст, строковое представление числа автоматически преобразуется к соответствующему числовому значению. Это очень удобно, но нужно быть внимательным при преобразовании к числам строк, содержащих не-цифровые символы. Символ, не применяемый для записи десятичного числа, прерывает преобразование строки в число, например:

Поделиться:
Популярные книги

Эйгор. В потёмках

Кронос Александр
1. Эйгор
Фантастика:
боевая фантастика
7.00
рейтинг книги
Эйгор. В потёмках

Темный Патриарх Светлого Рода 5

Лисицин Евгений
5. Темный Патриарх Светлого Рода
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Темный Патриарх Светлого Рода 5

Всплеск в тишине

Распопов Дмитрий Викторович
5. Венецианский купец
Фантастика:
попаданцы
альтернативная история
5.33
рейтинг книги
Всплеск в тишине

Дикая фиалка Юга

Шах Ольга
Фантастика:
фэнтези
5.00
рейтинг книги
Дикая фиалка Юга

Неудержимый. Книга IV

Боярский Андрей
4. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга IV

Великий перелом

Ланцов Михаил Алексеевич
2. Фрунзе
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Великий перелом

Барон меняет правила

Ренгач Евгений
2. Закон сильного
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Барон меняет правила

Титан империи 2

Артемов Александр Александрович
2. Титан Империи
Фантастика:
фэнтези
боевая фантастика
аниме
5.00
рейтинг книги
Титан империи 2

Я – Орк. Том 2

Лисицин Евгений
2. Я — Орк
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я – Орк. Том 2

Сирота

Ланцов Михаил Алексеевич
1. Помещик
Фантастика:
альтернативная история
5.71
рейтинг книги
Сирота

Системный Нуб 2

Тактарин Ринат
2. Ловец душ
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Системный Нуб 2

Свадьба по приказу, или Моя непокорная княжна

Чернованова Валерия Михайловна
Любовные романы:
любовно-фантастические романы
5.57
рейтинг книги
Свадьба по приказу, или Моя непокорная княжна

Лорд Системы 12

Токсик Саша
12. Лорд Системы
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Лорд Системы 12

Воин

Бубела Олег Николаевич
2. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.25
рейтинг книги
Воин