Модули Perl

Всички знаят, че Perl е много мощен език за програмиране и съответно съдържа много неща: от примитивни скалари до обектно-ориентирано програмиране. Но програмистът, когато изпълнява какъвто и да е проект, се опитва да го направи универсален, тоест, така че другите хора да могат да работят спокойно с неговата програма, в същото време е необходимо да се вземе предвид, че модификацията на кода е лесна и безболезнена.

Това е изпълнимо, особено в съвременните езици на високо ниво, Perl не е изключение.
Да кажем, че използваме модули.

Всички модули на Perl имат разширението '.pm'. Пътят на модула се намира в глобалния масив @INC. Така че, ако нямате права за директорията/usr/lib/perl5 и трябва да свържете собствен модул, можете да добавите нов към @INC
път към модулите (използвайки функцията за натискане (@INC, "/ path/to/your/modules /")). Тогава не би трябвало да има проблеми с locate.

Всеки модул започва с ключовата дума пакет, последвана от името. След това идва връзката на стандартния модул Exporter (отговорен за експортирането на модули). За да наследите успешно метода import (), който се намира в модула Exporter (когато пакетът е свързан, този метод се изпълнява), трябва да попълните масива @ISA, който ще съхранява имената на модулите, в които наследеното методи са разположени.

Всеки модул по дефиниция има свои собствени процедури, променливи, масиви и т.н. Те трябва да бъдат декларирани в глобалния масив @EXPORT (в противен случай извикване извън функцията create (), съхранена във вашия пакет, например, няма да бъде разбрано от компилатора и ще трябва да посочите пълния път до него - yourmodule: create ()).