print " 8. выполнение 1\n";
END { print "14. (1-й END)\n" }
INIT { print " 5. (1-й INIT)\n" }
CHECK { print " 4. (1-й CHECK)\n" }
print " 9. выполнение 2\n";
BEGIN { print " 1. (1-й BEGIN)\n" }
END { print "13. (2-й END)\n" }
CHECK { print " 3. (2-й CHECK)\n" }
INIT { print " 6. (2-й INIT)\n" }
print "10. выполнение 3\n";
END { print "12. (3-й END)\n" }
BEGIN { print " 2. (2-й BEGIN)\n" }
INIT { print " 7. (3-й INIT)\n" }
print "11. выполнение 4\n";
Сравните результаты запуска этого примера при обычном выполнении и только при компиляции:
Обычное выполнение: Только компиляция (perl -c)
1. (1-й BEGIN) 1. (1-й BEGIN)
2. (2-й BEGIN) 2. (2-й BEGIN)
3. (2-й CHECK) 3. (2-й CHECK)
4. (1-й CHECK) 4. (1-й CHECK)
5. (1-й INIT)
6. (2-й INIT)
7. (3-й INIT)
8. выполнение 1
9. выполнение 2
10. выполнение 3
11. выполнение 4
12. (3-й END)
13. (2-й END)
14. (1-й END)
Использование специальных блоков позволяет программисту гибко организовать контроль над программой на всех этапах ее жизненного цикла - от компиляции до завершения.
В поставке Perl имеется большое число стандартных библиотек модулей. Их описание можно прочитать в документации, обратившись к известной утилите:
perldoc perlmodlib
Стандартные модули находятся в библиотечных каталогах дистрибутива Perl и подключаются с помощью команды
use Cwd 'chdir'; # подключить стандартный модуль
chdir '/temp'; # вызвать Cwd::chdir()
CORE::chdir '/temp'; # вызвать встроенную функцию chdir
Стандартные модули подразделяются на несколько групп. Одна из них - это модули прагм (pragmatic modules), которые контролируют поведение компилятора и исполняющей системы Perl. В качестве примера таких модулей можно привести
Следующая группа - это модули расширения (extension modules), написанные на языке C и предназначенные для взаимодействия с операционной системой. Примерами модулей расширения могут служить Socket, Fcntl и POSIX.
В лекции 1 уже шла речь о Comprehensive Perl Archive Network (CPAN), что можно перевести как "Всеобъемлющая сеть Perl-библиотек", зеркальные сайты которой имеются по всему миру. Среди российских зеркал CPAN можно упомянуть http://cpan.sai.msu.ru/ и ftp://ftp.chg.ru/pub/lang/perl/CPAN/. CPAN - это огромный архив, где хранятся дистрибутивы Perl для разных операционных систем, документация, программы, библиотеки и модули по самой разной тематике, распространяемые бесплатно. На сайте имеется хорошая система поиска модулей. Кроме того, все модули расклассифицированы по логическим категориям и по именам пакетов, что облегчает поиск схожих модулей. В репозитарии CPAN на первом уровне иерархии насчитывается более 600 каталогов, в каждом из которых хранятся сотни модулей. Среди основных категорий модулей можно упомянуть важнейшие:
[x]. интерфейсы операционных систем (такие как Win32);
[x]. интерфейсы к системам управления базами данных;
[x]. пользовательские интерфейсы;
[x]. интерфейсы к другим языкам программирования;
[x]. работа с файлами и файловыми системами;
[x]. обработка строк и текстовой информации;
[x]. интернационализация и локализация;
[x]. аутентификация, безопасность и криптография;
[x]. работа с сетями, WWW, HTML, HTTP, CGI, e-mail;
[x]. архивирование и сжатие данных;
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии