Limba perl - studopediya

Limba Perl (Practical Extraction și Raportul Language) - un limbaj de programare, din care punctele forte sunt considerate a fi bogate în capacitatea sa de a lucra cu textul, inclusiv cele puse în aplicare folosind expresii regulate. De asemenea, limbaj care are o colecție mare de module suplimentare CPAN cunoscute.

Pentru a rula programul în Perl pentru a executa, compilarea acestuia nu este necesară, aceasta ar putea fi efectuate sub controlul interpretului. Pentru a depune cu textul original al Perl poate fi rulat pentru a efectua, este necesar în primul rând lui de a arăta astfel:

Principalele tipuri de date sunt în limba rusă: scalari, tablouri (scalară), tabele de dispersie (matrici asociative), funcția, descriptori de fișiere, și constante.

Variabilele de diferite tipuri diferă de semnul care stă în fața unui nume de variabilă:

$ A - scalar sau pointer

@b - matrice scalar

% C - tablou asociativ (tabel hash)

F - mâner IO sau constantă

Variabilele scalar sunt folosite pentru a stoca valori unice. Ele pot conține numere, siruri de caractere, și trimiterile la alte obiecte. Înainte de numele unei variabile scalare este necesar pentru a pune un semn dolar „$“. Tipul de variabilă scalară nu este fixă ​​și este determinată în mod dinamic în funcție de context.

matrice scalar este o listă ordonată de scalari. Fiecare element are un număr de serie (index), cu care puteți obține acces la ea. Numerotarea începe cu zero elemente.

Înainte de numele unei variabile scalare de tip matrice indică semnul @, și pentru a avea acces la un element specific în matrice este necesară pentru a pune semnul $, ca un element de matrice este un scalar:

imprimare "A doua lună de iarnă", $ iarna [1], "\ n";

Tabelul hash este un tablou asociativ, care permite string asociat (cheie) cu scalar (valoare). Șirul este numit apoi tasta. și un tabel hash scalară - valoare. Înainte de numele unei variabile-listă trebuie să conțină un procent%, iar pentru a avea acces la un element specific în matrice a pus semnul $.

De fapt, tabela hash este o matrice în cazul în care cheile sunt poziții impare. și chiar - valorile.

Utilizarea de matrice asociative similare folosind matrici de valori scalare, dar indexarea nu se face numere întregi, și cuvinte cheie. În plus, indicii nu sunt paranteze patrate si cret.

De exemplu, pentru a atribui o valoare celor trei elemente de matrice cu indici .ict primul, al doilea și al treilea, puteți utiliza una dintre cele două metode enumerate mai jos.

„În primul rând“, „a doua“, „a treia“;

În plus, există o modalitate de a fi înregistrate simultan într-un tablou asociativ, și cuvinte cheie și valorile lor. Puteți face acest lucru utilizând următoarea expresie:

array_name = (tasta 1, valoarea 1, o cheie 2, valoarea 2);

Pentru exemplul de mai sus, această expresie ar arata astfel:

.ict = ( "primul", "primul"

Luați în considerare următorul fragment de cod prezentat în Perl.

În plus față de $ _ în Perl, există alte variabile predefinite:

Ca variabilă scalară predefinite în Perl, există matrice, care au o semnificație specială. Cel mai important dintre ele - o matrice asociativă% Mediu, care conține valorile curente ale variabilelor de mediu. Pentru a obține valoarea unei variabile de mediu, este necesar să se facă referire la un element de matrice prin specificarea indicele a numelui variabilei de mediu. Astfel, expresia de mai jos scrie scalar variabila $ path_string variabila de mediu PATH.

Una dintre primele linii de CGI-script-uri pentru Perl, ar putea arata asa

descriptorii speciale de fișiere sunt disponibile pentru lucrul cu fișiere și fluxuri în Perl.

descriptor de fișier este un pointer la un fișier, dispozitiv, sau un canal ȚEAVĂ deschis pentru scriere, citire sau scriere și citire. operator "<>„Operator de Perl numit diamant (operator de diamant) Acesta definește linia de operare de descriptor flux citit este conținut în paranteze unghiulare .:

$ Str =; rânduri # Citirea din stdin descriptor (stdin)

@ Lines =; # Citește toate liniile din descriptorul asociat cu F.

imprimare str STDOUT $; # Print STDOUT (standard de ieșire)

Pentru a lega fișierul cu funcția deschis descriptor de fișier utilizat. Următoarele sunt opțiuni pentru utilizarea acestei funcții:

deskriptor_potoka deschis> nume de fișier

fișierul este deschis pentru ieșire. Dacă un fișier cu numele specificat nu există, a crea un nou fișier.

deskriptor_potoka deschis >> nume de fișier

fișierul este deschis într-un mod în care scrie date la dosar.

deskriptor_potoka deschis +> nume de fișier

fișier deschis este disponibil pentru citire și scriere.

închide fișierul asociat cu mâner specificat.

Structura este format din Perl căutare și înlocui instrumentele și solicitând modelul de căutare, puteți utiliza expresii regulate. Acest lucru înseamnă că operațiunile complexe, care apar în aplicații specializate, care pot fi implementate cu ușurință în orice Perl program.

operator de m // căutare este scris după cum urmează:

În cazul în care valoarea variabilei $ _ conține șirul corespunzător modelul specificat, operatorul returnează true meci.

Luați în considerare următorul exemplu:

Operatorul de înlocuire s /// scris, după cum urmează:

s / căutare model / expresie pentru a înlocui / [set modificator]

În cazul în care operatorul s /// căutările pentru potrivire de model, și dacă are succes, șirul de potrivire este înlocuită cu expresia specificată. Ca operator de m //, s /// operatorul utilizează variabila $ _. Mai jos este un exemplu simplu de utilizare a /// operatorului s.

$ _ = "CGI-script este scris în C";

Ca urmare, script-ul de pe consola va afișa următoarea linie:

CGI-script este scris în Perl

Deoarece simbolul C se găsește în CGI acronimul, astfel încât modelul de căutare a indicat că ar trebui să fie ultima în linie.

Pentru ultimul separator în /// operatorul i poate urma unul sau mai mulți modificatori. Atribuirea unor modificatori enumerate mai jos.

  • g - o căutare la nivel mondial. Dacă acest modificator nu este specificat, după ce a constatat /// primul operator meci de a termina. Prin urmare, în absența modificator g nu se face mai mult de o substituție.
  • i - indică faptul că cercetarea nu ar trebui să ignore cazul caracterelor.
  • e - indică faptul că secvența de caractere pentru a înlocui trebuie interpretată nu ca un subșir, și ca o expresie a Perl.

În ceea ce privește substituția poate fi prezentă de $ 1 - $ 9, iar în acest caz, trebuie să specificați e modificator, de exemplu, dacă doriți să interpreteze numărul ca un cod de caracter zecimal poate vospolzovatsya următoarea expresie :.

Pentru a căuta sau de înlocuire efectuate în linia care conține variabila dorită, ar trebui să utilizați următoarea expresie:

De exemplu, pentru a converti un număr hexazecimal conținute în variabila $: string, în reprezentare zecimală, puteți utiliza instrucțiunile:

articole similare