Perl пакети и модули

Какво пакети?

пакет оператор превключва текущия контекст на пространството от имена на именуване (таблица символ). По този начин -

Пакетът е набор от код, който живее в свой собствен пространство от имена.

Именно пространство е съвкупност от именувани променливи уникални имена (наричан още една маса символ).

Именно чрез променливи пречат име сблъсъци между пакети.

Пакети ви позволяват да се изгради модули, които са в употреба, а не ги замества променливите и функциите извън собствените имена играят модули.

Пакет остава в сила, докато друг оператор пакет не е задействана, или до края на текущия блок или файл.

Можете да изрично да се посочва променливи в пакет използвате. спецификатор пакет.

По-долу е пример като основни и Foo пакети във файла. Има специална променлива __PACKAGE__ се използва за печат на името на пакета.

Когато по-горе код се изпълнява, той не води до следния резултат -

Започват и завършват блокове

Можете да зададете произволен брой кодови блокове, наречени започват и свършват, която действа като конструктори и деструктори, съответно.

Всеки ЗАПОЧНЕТЕ блок се изпълнява, след като е зареден и е съставен един Perl скрипт. но преди да извършвате всеки друг оператор.

Всеки блок се извършва непосредствено преди преводачески изходите края Perl.

Започват и завършват блокове са особено полезни при създаването на Perl модули.

Следният пример показва използването му -

Когато по-горе код се изпълнява, той не води до следния резултат -

Какво Perl модули?

Perl модул е ​​пакет за многократна употреба се определя във файла с библиотека, чието име е една и съща опаковка като .pm разширение.

Perl модул файл, наречен Foo.pm може да съдържа такива изявления.

Няколко важни неща за Perl модули

Функция и използване изисква да се зареди модула.

Както се използва списък на пътеки за търсене, за да намерите @INC модул.

И двете функции изискват и използват наричаме EVAL за кодове за обработка.

1; на по-ниски причините EVAL. да се оцени истинската (и по този начин не се провали). (И по този начин не се провали). (И по този начин не се провали) от (и по този начин не се провали).

изисква функция

Модулът може да се зареди чрез изискват повикване функция, както следва: -

Вие трябва да сте забелязали, че имената на програмите трябва да са напълно квалифицирани да им се обадя. Би било хубаво. да се включат рутина и бар блат. които ще бъдат внесени в собствената ни пространство от имена. така че ние не трябва да използвате Foo. спецификатор.

с помощта на

Модулът може да бъде зареден с използване на функцията обаждане.

Моля, имайте предвид, че ние не трябва да се класирате напълно имена функции пакет. използвате функцията за експортиране на списък с герои от модула от малкото оператори в модула добавена.

След това, се предоставя списък на знака (скалари, списъци на хешове, подпрограми и т.н.), като попълните променлива списъка на име @EXPORT. Например -

Създаване Perl модул Tree

Когато сте готови да изпратите Perl модул, който е стандартен начин за създаване на Perl модул дърво. Това се прави с помощта на h2xs полезност. Тази помощна програма идва Alongwith Perl. Тук е синтаксисът за използване h2xs -

Например, ако вашият модул се предлага в Person.pm файл, просто стартирайте следната команда -

Това дава следния резултат -

Ето описание на тези опции -

-Код понижава Autoloader (най-добре се използва от модула, които определят голям брой рядко използвани подпрограми). (Най-добър използва от модули, които определят голям брой рядко използвани подпрограми)

-X пропуска XS елементи (външна подпрограма където външни средства външно Perl, т.е., С) във връзка (външна подпрограма, където външни средства външно Perl, т.е., С).

-п показва името на модула.

По този начин, по-горе команда създава следната структура директория в рамките на лицето. Действителната Резултатът е показан по-горе.

Манифест (съдържа списък на всички файлове в пакета)

Библиотека / (застроена изходния код се поставя тук

И така И накрая, можете линчува структурата на директориите в Person.tar.gz файл. и можете да го изпратите. Вие ще трябва да се актуализира README файл с инструкции. Можете също така да предостави някои примери за тестови файлове в директорията, така.

Инсталиране Perl модул

Свали Perl модул под формата на файл с tar.gz. Използвайте следната последователност. да инсталирате Perl Person.pm модул. който се зарежда като Person.tar.gz файл.

Perl преводач съдържа списък на директории. в която се търси модули (глобална @INC масив).