На этом шаге мы дадим краткую характеристику модулей.
Дальнейшим развитием понятия библиотеки явилось понятие модуля, возникшее в версии Perl 5. Модуль представляет собой библиотеку подпрограмм, обладающую дополнительными свойствами по сравнению с библиотеками Perl 4. Он позволяет управлять экспортом своих имен в другие программы, объявляя, какие из них экспортируются по умолчанию, а какие должны быть явно указаны в соответствующем операторе вызывающей программы.
Под экспортом мы здесь понимаем предоставление возможности другим модулям импортировать символы из пространства имен данного модуля. Соответственно под импортом мы понимаем включение в собственное пространство имен символов, экспортируемых другим модулем.
Для целей управления экспортом каждый модуль должен располагать методом import() и определить специальные массивы @EXPORT и @EXPORT_OK.
Вызывающая программа обращается для импорта символов к методу import() экспортирующего модуля.
Специальный массив @EXPORT содержит идентификаторы, экспортируемые по умолчанию.
Специальный массив @EXPORT_OK содержит идентификаторы, которые будут экспортироваться только в том случае, если они явно указаны в списке импорта вызывающей программы.
С появлением модулей появилась новая директива для их подключения к основной программе. Эта директива реализуется функцией use().
На следующем шаге мы рассмотрим функцию use().