Читаем Введение в Perl полностью

Все имена модуля хранятся в ассоциативном массиве (хеше) с именем модуля к которому добавлены символы "::". Таким образом имена головного модуля хранятся в %main:: , модуля 'mod1' в %mod1:: и т.д. Выражение вида *имя указывает значение элемента хеша 'имя' это удобно для определения констант.

Например:

*pi = \3.14159;

Здесь переменная $pi – это константа пи которую уже нельзя изменить.

Конструкторы и деструкторы.

Конструктор – это подпрограмма которая выполняется в момент создания объекта, а деструктор – удаления объекта. Для модуля это подпрограммы с именами BEGIN и END. При определении этих подпрограмм слово sub можно опускать.

Конструктор BEGIN выполняется сразу как только возможно т.е. как только он определен даже не завершая дальнейший разбор программы. Можно указать несколько блоков BEGIN. Они будут выполняться один за другим в порядке определения.

Деструктор END выполняется последним как только возможно т.е. при завершении работы интерпрератора. Можно указать несолько блоков END при этом они будут выполняться в обратном определению порядке.

Классы.

В Перл нет специального синтаксиса для классов. Но функционально полноценными классами могут быть модули. При этом подпрограммы модуля становятся методами, а с помощью массива @ISA можно реализовать механизм наследования в классах. Более подробно классы описаны отдельно.

Создание библиотеки.

Если вы хотоите создать модуль отдельным файлом и использовать как библиотеку подпрограмм, при этом вызывать подпрограммы библиотеки не указывая имени модуля, вам необходимо оформить модуль следующим образом:

package имя_модуля; # Такое же как и имя этого файла без расширения '.pm'

require Exporter; # Обязательная строка для экспорта имен

@ISA = qw(Exporter); # -//-

@EXPORT = qw(func1 func2) # Перечисляем имена функций. Внимание ! нет запятой!

@EXPORT_OK = qw( $переменная @массив ); # Указать публичные переменные, массивы и т.д. если необходимо

{ # Начало блока модуля

.....

sub func1

........

sub func2

........

1;

}

Данный файл с расширением ".pm" должен храниться в одной из библиотечных директорий Перл. Они перечислены в массиве @INC одно из них обычно "/usr/local/lib/perl/".

В головной программе вы указываете:

use имя_модуля;

и вам становятся доступны имена подпрограмм данного модуля.

Стандартные Перл библиотеки.

Стандартный набор библиотек обычно поставляется с дистрибутивом Перл они разделяются на pragma библиотеки (работают как директивы компилятору) и стандартные библиотеки.

Pragma библиототеки.

Данные библиотеки используют как:

use имя;

когда хотят включить действие и

no имя;

когда выключить.

В стандартный набор входят следующие pragma:

diagnostics –  Включить режим расширенной диагностики.

integer –  Использовать целочисленную арифметику.

less –  Режим минимальной загрузки компилятора.

overload - Режим переопределения операторов.

sigtrap - Режим слежения за прерываниями.

strict - Режим ограниченного использования «опасных» операторов.

subs - Режим обязательного декларирования подпрограмм.

Стандартные библиотеки.

AnyDBM_File  Возможность работы с разными типами баз данных.

AutoLoader  Загрузка в память функций только во время вызова.

AutoSplit  Разделить модуль для автозагрузки.

Benchmark  Анализ скорости исполнения программы.

Carp  Предупреждения об ошибках.

Config  Доступ к конфигурации Перл.

Cwd  Получить имя текущей рабочей директории.

DB_File  Работа с базой данных формата Berkley DB.

Devel::SelfStubber  Режим отладки автозагрузки.

DynaLoader  Динамическая загрузка библиотек C.

English Использовать длинные имена встроенных переменных.

Env Импортировать имена переменных окружения

Exporter  Обеспечивает экспорт/импорт для модулей.

ExtUtils::LibList Определяет используемые библиотеки.

ExtUtils::MakeMaker Создает файл проекта Makefile

ExtUtils::Manifest Программы для создания и проверки файла MANIFEST

ExtUtils::Mkbootstrap Применеие файла начальной загрузки для DynaLoader.

Fcntl  Определения как и в С Fcntl.h

File::Basename Синтаксический разбор спецификации файла.

File::CheckTree Быстрый проход по директориям диска.

File::Find Быстрый поиск файлов по директориям.

FileHandle Обеспечивает объектный метод доступа к указателям файлов.

File::Path Создание/удаление директорий.

Getopt::Long Расширенная обработка опций.

Getopt::Std Стандартная обработка опций.

I18N::Collate Сравнение символов локальной кодировки.

IPC::Open2 Межпроцессорный обмен по чтению и записи.

IPC::Open3 Межпроцессорный обмен по чтению, записи, и обрабоки ошибок.

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных