Это приложение содержит перечень модулей Perl и их краткое описание.
Стандартные модули
Модули СРАN
Стандартная поставка Perl включает в себя большое число модулей, в которых представлены разные средства и функции для решения многих задач, возникающих при программировании на Perl. Простым подключением соответствующего модуля к своей программе можно получить необходимые средства для решения конкретной задачи. Более того, все перечисленные ниже с кратким описанием модули присутствуют в системах программирования на языке Perl на всех известных платформах. Поэтому, если использовать их в своих разработках, то проблем с переносимостью программ Perl никогда не возникнет. Мы рекомендуем потратить некоторое время на внимательный просмотр этого приложения. Эта работа с лихвой окупится в дальнейшем - не надо будет прикладывать усилий для решения проблемы, которая уже решена в каком-либо модуле. Все стандартные модули в таблице 1 представлены в алфавитном порядке.
Модуль | Краткое описание |
---|---|
AnyDBM_File | Этот модуль всего лишь загружает один из модулей для связывания хешей Perl с файлами DBM в следующей последовательности: NDBM_File, DB_File, GDBM_File, SDBM_File и ODBM_File. Если установлен модуль NDBM_File, то загружается он; если его нет, то ищется следующий из приведенного списка и т. д. Модуль SDBM_File всегда присутствует, так как он входит в стандартную поставку Perl |
Autoloader | Предоставляет стандартный механизм для отложенной загрузки функций, хранящихся в отдельных файлах на диске. Используется при создании собственных модулей расширения Perl |
AutoSplit | Содержит функции, разбивающие программу или модуль Perl на файлы, которые впоследствии может обрабатывать модуль AutoLoader. Основное применение - построение библиотечных модулей Perl с автозагрузкой |
Benchmark | Содержит набор функций для проведения тестов на быстродействие выполнения отдельных фрагментов кода программы |
Carp | Содержит функции carp() и croak() - аналоги функций warn() и die(). Они отображают сообщение с указанием подпрограммы и номера ее строки, откуда вызываются эти функции, тогда как warn() и die() отображают номер строки в коде всей программы |
Config | Содержит набор функций для доступа к конфигурационной информации Perl, которую сценарий Configure занес в компьютер при установке Perl |
Cwd | Содержит функции для определения полного имени текущего рабочего каталога и его изменения. Эти функции работают надежнее и быстрее, чем соответствующие встроенные функции Perl |
DB_File | Позволяет использовать в программе Perl возможности, предоставляемые библиотекой Berkeley DB, предлагая единообразный интерфейс доступа к базам данных разных форматов |
Devel::SelfStubber | Генерация шаблонов (заготовок) для самозагружающихся модулей |
diagnostics | Позволяет отображать более полные и развернутые диагностические сообщения компилятора и интерпретатора perl по сравнению с используемой по умолчанию краткой диагностикой |
DirHandle | Предоставляет объектный интерфейс к функциям работы с каталогами: opendir(), closedir(), readdir() и rewinddir() |
DynaLoader | Определяет стандартный интерфейс Perl к механизмам динамической загрузки, доступным на большинстве компьютерных платформ. Используется при создании собственных модулей расширения Perl |
Env | Perl поддерживает работу с переменными среды через ассоциативный массив %ENV. Модуль позволяет использовать переменные среды как обычные скалярные переменные Perl, используя имена этих переменных в качестве идентификатора переменных Perl. Например, $РАТН, $НОМЕ и т.д. |
Exporter | Реализует метод import(), который обычно наследуется другими модулями вместо определения ими собственных методов импортирования своих определений и функций |
ExtUtils::Install | Предоставляет две функции install() и uninstall(), необходимые модулю ExtUtils::MakeMaker для выполнения зависимой от платформы установки и удаления расширений Perl |
ExtUtils::Liblist | Содержит функцию ext(), которая преобразует список библиотек в строки, пригодные для включения в файл Makefile расширения Perl на текущей платформе |
ExtUtils::MakeMaker | Автоматизирует создание файла Makefile.pl, необходимого для построения расширения Perl |
ExtUtils::Manifest | Содержит функции для создания файла MANIFEST, который содержит список имен файлов (одно имя в строке с необязательным комментарием). Содержимое файла легко прочитать командой awk '{print $l}' MANIFEST. Этот модуль используется модулем ExtUtils::MakeMaker для создания списка файлов, содержащих функции модуля |
ExtUtils::Miniperl | Содержит единственную функцию writemain(), получающую список каталогов, содержащих архивные библиотеки, которые необходимы модулям Perl и которые следует включить в новый двоичный файл Perl. Обычно используется из файла Makefile, сгенерированного модулем ExtUtils::MakeMaker. Программист непосредственно не работает с этим модулем |
ExtUtils::MkbootStrap | Единственная функция этого модуля mkbootstrap() обычно вызывается из файла Makefile соответствующего расширения и создает файл *.bs, необходимый для динамической загрузки в некоторых архитектурах операционных систем |
ExtUtils::Mksymlists | Единственная функция этого модуля Mksymlists() создает файлы, которые используются компоновщиком некоторых операционных систем при создании совместно используемых (shared) библиотек для динамических расширений Perl. Обычно вызывается из файла Makefile, сгенерированного модулем ExtUtils::MakeMaker при построении расширения |
ExtUtils::MM_OS2 | Перекрывает методы модуля ExtUtils::MM_Unix, используемые модулем ExtUtils::MakeMaker, для работы в операционной системе OS2 |
ExtUtils::MM_Unix | Методы этого модуля используются модулем ExtUtils::MakeMaker. Программист никогда не работает с ними, если только он не улучшает модуль ExtUtils::MakeMaker в связи с его переносимостью |
ExtUtils::MM_VMS | Перекрывает методы модуля ExtUtils:MM_Unix, используемые модулем ExtUtils::MakeMaker, для работы в операционной системе VMS |
Fcntl | Этот модуль всего лишь трансляция заголовочного файла fcntl.h языка С, содержащего определения разных констант |
File::Basename | Функции этого модуля осуществляют синтаксический разбор полного имени файла, выделяя ключевые единицы. Можно использовать синтаксис имен файлов разных операционных систем. Например, в UNIX ключевыми единицами будут путь, имя файла и расширение |
File::CheckTree | Единственная функция этого модуля validate() позволяет выполнять унарные именованные операции проверки над группой файлов, причем для каждого файла группы можно задать свои операции. Все операции проверки выполняются за одно обращение к функции |
File::Copy | Содержит единственную функцию сору(), которая копирует группу файлов за одно обращение |
File::Find | Содержит две функции поиска файлов по критерию, определенному в пользовательской подпрограмме. Функция find() отыскивает все файлы в каталогах заданного списка, последовательно переходя на поиск в каталогах нижнего уровня. Функция finddepth() также отыскивает файлы в каталогах заданного списка, но начинает поиск с последнего вложенного каталога, последовательно переходя на поиск в каталогах верхнего уровня |
File::Path | Содержит две функции mkpath() и rmtree(), которые, соответственно, создают и удаляют каталоги. В отличие от встроенной функции создания каталога mkdir() функция этого модуля создает каталоги верхнего уровня, если они не существуют. Функция удаления каталога, в отличие от встроенной функции rmdir(), удаляет любой, не обязательно пустой каталог, причем возвращает количество удаленных файлов |
FileCashe | Предоставляет функцию casheout(), которая открывает файл, не обращая внимания на установленное в соответствующей переменной среды количество одновременно открытых файлов. Ее использование для открытия файлов позволяет открыть произвольное число файлов |
FileHandle | Предоставляет объектный интерфейс для работы с дескрипторами файлов |
GDBM_File | Позволяет программе Perl использовать возможности, предоставляемые библиотекой gdbm, распространяемой на условиях лицензии GNU |
Getopt::Long | Реализует функцию GetOption(), позволяющую получать и обрабатывать опции командной строки, с которыми была запущена программа Perl. Параметры этой функции определяют синтаксис правильных опций: опция с обязательным/необязательным строковым/целым/числовым параметром, опция без параметров |
Getopt::Std | Содержит функции getopt() и getopts(), реализующие простой механизм обработки односимвольных опций (например, -v). Опции можно объединять в группы |
I18N::Collate | Предоставляет объекты, которым можно присвоить строки данных, и в дальнейшем сравнивать и упорядочивать их в соответствии с таблицей символов национального алфавита. Для правильной работы объектов и методов этого модуля необходимо иметь установленный модуль POSIX языка Perl. Системе также должны быть доступны POSIX-функции setlocale(3) и strxfrm(3) |
integer | Использование в программе этого модуля предписывает компилятору применять арифметику целых чисел, начиная от строки вызова модуля (use integer;) до конца блока, в котором он вызван |
IPC::Open2 | Содержит функцию open2(), которая порождает новый процесс и выполняет в нем команду, определяемую значением параметра функции. Ассоциируя со стандартными файлами ввода и вывода два дескриптора, позволяет программе Perl получать и передавать информацию для порожденного процесса |
IPC::Open3 | Содержит функцию open3(), которая работает аналогично функции open2() модуля IPC::Open2 за исключением того, что открывается еще третий файл для обмена информацией - стандартный файл вывода ошибок |
lib | Упрощает работу со специальной переменной @INC во время компиляции. Позволяет добавлять дополнительные каталоги поиска для операторов use и require |
Math::BigFloat | Позволяет создавать объекты, представляющие вещественные числа с произвольным количеством цифр в мантиссе, и выполнять над ними арифметические операции |
Math::BigInt | Позволяет создавать объекты, представляющие целые числа с произвольным количеством цифр в мантиссе, и выполнять над ними арифметические операции |
Math::Complex | Позволяет создавать объекты, представляющие комплексные числа, и выполнять над ними арифметические операции |
NDBM_File | Позволяет связывать функцией tie() хеши с файлами NDBM. См. описание модуля DB_File |
Net::Ping | Содержит функцию pingecho(), которая использует TCP-службу эхо (echo) (не ICMD) для определения, доступен ли удаленный хост |
ODBM_File | Позволяет связывать функцией tie() хеши с файлами ODBM. См. описание модуля DB_File |
overload | Позволяет осуществлять перегрузку стандартных операций Perl, т.е. при вызове в программе стандартной функции выполнять вместо предусмотренных стандартных операций методы каких-либо классов или собственные подпрограммы. Модуль постоянно изменяется, поэтому рекомендуем внимательно ознакомиться с документацией установленного на компьютере интерпретатора perl |
POSIX | Обеспечивает доступ ко всем (или почти всем) идентификаторам стандарта POSIX версии 1003.1. Для многих из этих идентификаторов реализованы Perl-подобные интерфейсы |
Pod::Text | Содержит функцию pod2text(), которая в программе Perl позволяет преобразовать файл документации в формате POD в обычный текстовый ASCII файл. (В стандартную поставку Perl входит отдельная программа pod2text, которую можно запустить из командной строки) |
Safe | Создает специальную область, в которой можно выполнить небезопасный код Perl. Эта область имеет собственное пространство имен и ассоциированную маску операций. Код, выполняемый в ней, не может ссылаться на переменные вне своего пространства имен. Компилируемый вне этой области код может поместить некоторые свои переменные в пространство имен этой области. Тогда они станут доступны коду, компилируемому в ней. Задаваемая маска операций позволяет исключить из выполняемого в безопасной области кода Perl потенциально опасные операции. По умолчанию любые операции доступа к системным ресурсам не выполняются в безопасной области |
SDBM_File | Позволяет связывать функцией tie() хеши с файлами SDBM. См. описание модуля DB_File |
Search::Dict | Содержит функцию look(), которая устанавливает указатель позиции в файле на строку, содержимое которой больше или равно некоторому строковому значению, переданному в функцию в качестве параметра |
SelectSaver | Позволяет создать объект SelectSaver, с помощью которого можно выбрать новый дескриптор файла, при этом старый дескриптор сохраняется и восстанавливается при уничтожении объекта SelectSaver |
SelfLoader | Этот модуль предоставляет механизм отсроченной загрузки функций, объявления которых расположены после лексемы __DATA__ пакета, определенного в файле программы Perl. Функция будет автоматически загружена при первом к ней обращении. Этот модуль отличается от модуля Autoloader, который работает с функциями в отдельных самостоятельных файлах |
Shell | Позволяет вызывать утилиты UNIX, доступные из командной строки, как будто они являются подпрограммами Perl. Параметры, включая ключи, передаются в утилиты как строковые данные |
sigtrap | Позволяет инициализировать обработчик сигнала для сигналов, переданных в качестве параметров модулю при его подключении оператором use |
Socket | Загружает определения констант и функций заголовочного файла socket.h языка С, а также специальных функций обработки некоторых структур данных, необходимых для работы с сетью |
strict | Позволяет ограничить небезопасные конструкции: переменные, ссылки и простые слова, не являющиеся заранее объявленными подпрограммами |
subs | Осуществляет объявление подпрограмм, чьи имена передаются в списке при подключении модуля в программу Perl. Это объявление позволяет вызывать в сценарии эти подпрограммы, задавая их параметры без скобок, даже до их определения. Можно перекрыть встроенные функции |
Symbol | Предоставляет функцию gensym(), которая создает анонимную глобальную переменную и возвращает ссылку на нее. Такую переменную можно использовать в качестве дескриптора файла или каталога. Функция qualify() уточняет имена переменных, добавляя к ним префикс, состоящий из имени пакета, где они определены, и двойного двоеточия "::" |
Sys::Hostname | Предоставляет функцию hostname(), которая всеми возможными способами пытается получить имя хоста, последовательно вызывая разные системные программы |
Sys::Syslog | Реализует Perl-интерфейс к программе syslog(3) операционной системы UNIX. Для использования этого модуля следует программой h2ph создать файл syslog.ph |
Term::Cap | Позволяет создать объект, который извлекает из базы данных терминалов и сохраняет информацию о свойствах терминала заданного типа. См. man-страницу termcap(5) для получения информации об использовании базы данных терминалов |
Term::Complete | Содержит функцию Complete(), которая посылает сообщение через текущий дескриптор файла и читает ответ пользователя, выполняя специальные действия, если в ответе пользователя встречаются коды следующих клавиш: <Tab>, <Ctrl>+<D>, <Ctrl>+<U> или <Del>. |
Test::Harness | Этот модуль используется модулем Extutils::MakeMaker. Если строится расширение Perl и в каталоге расширения имеются тестовые сценарии, имена которых удовлетворяют шаблону t/*.t, то функция runtest() выполнит все тестовые сценарии, переданные ей в качестве параметров |
Text::Abbrev | Позволяет создать таблицу неповторяющихся сокращений для элементов списка из их значений. Функция abbrev() просматривает содержимое каждого элемента переданного ей списка и конструирует для него простым отсечением все возможные сокращения с учетом того, чтобы ни одно из полученных сокращений не совпадало со значениями других элементов в списке. Эти сокращения используются в качестве ключей в хеше, переданном в функцию abbrev(); для всех подобных ключей значением становится значение самого элемента списка |
Text::ParseWords | Содержит функцию quotewords(), которая выделяет из содержимого строк, заданных элементами массива, слова, ограниченные определяемым пользователем разделителем (может быть задан регулярным выражением) |
Text::Soundex | Реализует алгоритм soundex, описанный в томе 3 книги Д. Кнут "Искусство программирования". Этот алгоритм разбивает слова на более мелкие части, используя простую модель, которая аппроксимирует звучание английского слова. Каждому слову в соответствии с его разбиением присваивается четырехсимвольный код, первым символом которого является буква, а остальные три представляют цифры |
Text::Tabs | Предоставляет две функции - expand() и unexpand(), которые, соответственно, преобразуют все символы табуляции в строке в символы, определяемые пользователем, и наоборот - символы, определяемые пользователем, в символы табуляции |
Text::Wrap | Предоставляет функцию wrap(), которая форматирует длинную строку данных в абзац заданной ширины, определяя отступы для первой и последующих строк абзаца. Перенос осуществляется по словам |
Tie::Hash Tie::StdHash |
Эти модули позволяют создать шаблоны (заготовки) для методов классов, реализующих действия для связываемых функцией tie() хешей |
Tie::Scalar Tie::StdScalar |
Эти модули позволяют создать шаблоны (заготовки) для методов классов, реализующих действия для связываемых функцией tie() скаляров |
Tie::SubstrHash | Предоставляет табличный хеш-интерфейс к массиву с ключами и записями постоянной длины |
Time::Local | Содержит две эффективные функции вычисления местного времени (timelocal()) и времени по Гринвичу (timegm()) |
vars | Этот модуль позволяет объявить переменные, имена которых переданы ему в качестве параметров, как глобальные |
Если предлагаемые стандартными модулями Perl средства не подходят для решения поставленной задачи, то прежде чем начинать собственную разработку, рекомендуется обратиться к архиву модулей Perl в Internet по адресу:
http://www.perl.com/CPAN/modules/
Здесь расположены свободно распространяемые модули Perl. Рекомендуем перейти по соответствующей ссылке на страницу, где все модули классифицированы по категориям их применения. Ниже мы представляем все перечисленные на ней категории с соответствующим русским переводом: