pachete și module Perl

Ce pachete?

operator de pachet comută contextul actual la spațiul de nume de denumire (simbol tabel). Astfel, -

Pachetul este un set de cod care trăiește în propriul său spațiu de nume.

Namespace este un set de variabile numite nume unice (numit, de asemenea, un tabel de simboluri).

Variabilele Namespace prevenirea coliziunilor de nume între pachete.

Pachetele vă permit să construiască module care sunt în uz, nu suprascrie variabilele și funcțiile în afara numelor proprii juca module.

Pachetul rămâne în vigoare până când un alt operator de pachet nu este invocat, sau până la sfârșitul blocului sau fișierul curent.

Puteți referi în mod explicit la variabile într-un pachet folosind. Pachetul specificator.

Mai jos este un exemplu având pachete principale și Foo în fișierul. Există o __PACKAGE__ variabilă specială a fost folosită pentru a imprima numele pachetului.

Atunci când codul de mai sus este executat, se produce următorul rezultat -

Începe și riglele de capăt

Puteți defini orice număr de blocuri de cod, numite începe și se termină, care acționează în calitate de constructori și destructori, respectiv.

Fiecare BEGIN bloc este executat dupa ce a fost încărcat și întocmit un script Perl. dar înainte de a efectua orice alt operator.

Fiecare bloc se efectuează imediat înainte de ieșirile interpret END PERL.

Începe și blocurile de capăt sunt utile mai ales atunci când crearea de module Perl.

Exemplul următor prezintă utilizarea sa -

Atunci când codul de mai sus este executat, se produce următorul rezultat -

Ce module Perl?

Modulul Perl este un pachet reutilizabil este definit în fișierul bibliotecă, al cărui nume este același pachet ca Pm extensie.

fișier modul Perl numit Foo.pm poate conține astfel de declarații.

Cateva lucruri importante despre module Perl

Funcția și utilizarea necesită încărcarea modulului.

Ambele utilizează o listă de căi de căutare pentru a găsi modulul @INC.

Ambele funcții necesită și de a folosi apela eval pentru codurile de procesare.

1; pe motive inferioare Eval. pentru a estima adevărat (și, prin urmare, nu reușesc). (Și, prin urmare, nu reușesc). (Și, prin urmare, nu reușesc) de la (și, prin urmare, nu reușesc).

necesită funcția

Modulul poate fi încărcat prin intermediul necesită funcția de apel, după cum urmează: -

Ar trebui observat că numele rutinele trebuie să fie pe deplin calificat pentru a le numim. Ar fi frumos. pentru a include de rutină și un bar Blat. care vor fi importate în propriul nostru spațiu de nume. așa că nu ar trebui să utilizeze Foo. specificator.

Utilizarea

Modulul poate fi încărcat cu o utilizare de apel în funcție.

Vă rugăm să rețineți că nu trebuie să se califice pe deplin numele de funcții pachet. Funcția utilizează pentru a exporta o listă de caractere din modulul de câțiva operatori din modulul de adăugat.

Apoi, furnizează o listă de caractere (scalari, liste,, subrutine, hash etc), completând lista variabila numita @EXPORT. De exemplu -

Crearea Perl Modul copac

Când sunteți gata să trimiteți modulul Perl, care este un mod standard de a crea un copac modul Perl. Acest lucru se face folosind utilitarul h2xs. Acest utilitar vine Alongwith Perl. Aici este sintaxa pentru utilizarea h2xs -

De exemplu, în cazul în care modulul este disponibil în fișierul Person.pm, pur și simplu executați următoarea comandă -

Acest lucru dă următorul rezultat -

Aici este o descriere a acestor opțiuni -

-Un cod scade Autoloader (utilizat cel mai bine prin module care definesc un număr mare de subrutine utilizate rar). (Cel mai utilizat de module care definesc un număr mare de subrutine utilizate rar)

-X omit XS elemente (EXTERNAL subrutinei, unde EXTERNAL mijloace externe la Perl, adică, C) în relație (EXTERNAL subrutină, unde EXTERNAL mijloace externe la Perl, adică, C).

-n indică numele modulului.

Astfel, comanda de mai sus creeaza urmatoarea structura de directoare în cadrul persoanei. Rezultatul real este prezentat mai sus.

MANIFEST (conține lista tuturor fișierelor din pachet)

Biblioteca / (codul sursă al merge aici

Deci În cele din urmă, ai tar structura de director în fișierul Person.tar.gz. și puteți trimite-l. Va trebui să actualizați fișierul README cu instrucțiuni. Puteți oferi, de asemenea câteva exemple de fișiere de test în directorul asa.

Instalarea modulului Perl

Descărcați modulul Perl într-o formă de fișier tar.gz. Utilizați următoarea secvență. pentru a instala orice modul Perl Person.pm. care a fost încărcat ca fișier Person.tar.gz.

Perl interpret conține o listă de directoare. în care se caută module (@INC matrice) la nivel mondial.