Scroll to navigation

PERL(1) Ghid de referință pentru programatorii Perl PERL(1)

NUME

perl - interpretul limbajului Perl 5

SINOPSIS

perl-sTtuUWX ] [ -hv ] [ -V[:configvar] ] [ -cw ] [ -d[t][:debugger] ] [ -D[number/list] ] [ -pna ] [ -Fpattern ] [ -l[octal] ] [ -0[octal/hexadecimal] ] [ -Idir ] [ -m[-]module ] [ -M[-]'module...' ] [ -f ] [ -C [number/list] [ -S ] [ -x[dir] ] [ -i[extension] ] [ [-e|-E'command' ] [ -- ] [ programfile ] [ argument ]...

Pentru mai multe informații despre aceste opțiuni, puteți rula «perldoc perlrun».

OBȚINEREA AJUTORULUI

Programul perldoc vă oferă acces la toată documentația care vine cu Perl. Puteți obține mai multă documentație, tutoriale și asistență din partea comunității în internet la <https://www.perl.org/>.

Dacă sunteți nou în Perl, ar trebui să începeți prin a rula «perldoc perlintro», care este o introducere generală pentru începători și care vă oferă informații de bază pentru a vă ajuta să navigați în restul documentației ample a Perl. Rulați «perldoc perldoc» pentru a afla mai multe lucruri pe care le puteți face cu perldoc.

Pentru a facilita accesul, manualul Perl a fost împărțit în mai multe secțiuni.

Prezentare generală

    perl                Prezentare generală Perl (această secțiune)
    perlintro           Introducere în Perl pentru începători
    perlrun             Execuție și opțiuni Perl
    perltoc             Tabla de cuprins a documentației Perl

Tutoriale

    perlreftut          Referințe Perl - scurtă introducere
    perldsc             Structuri de date Perl - introducere
    perllol             Structuri de date Perl: matrice de matrici
    perlrequick         Expresii regulate Perl - start rapid
    perlretut           Tutorial de expresii regulate Perl
    perlootut           Tutorial OO Perl pentru începători
    perlperf            Tehnici de performanță și optimizare Perl
    perlstyle           Ghid de stil Perl
    perlcheat           Foaie de consultații Perl
    perltrap            Capcane Perl pentru cei neavizați
    perldebtut          Perl tutorial de depanare
    perlfaq             Întrebări frecvente despre Perl
    perlfaq1            Întrebări generale despre Perl
    perlfaq2            Obținerea și învățarea lui Perl
    perlfaq3            Instrumente de programare
    perlfaq4            Manipulare de date
    perlfaq5            Fișiere și formate
    perlfaq6            Expresii regulate
    perlfaq7            Probleme legate de limbajul Perl
    perlfaq8            Interacțiunea sistemului
    perlfaq9            Rețele

Manualul de referință

 perlsyn             Sintaxa Perl
 perldata            Structuri de date Perl
 perlop              Operatori Perl și precedența
 perlsub             Subrutine Perl
 perlfunc            Funcții integrate Perl
 perlopentut         Tutorial Perl open()
 perlpacktut         Tutorial Perl pack() și unpack()
 perlpod             Documentație veche simplă Perl
 perlpodspec         Specificație a formatului de documentație veche simplă Perl
 perldocstyle        Ghid de stil Perl pentru documentele de bază
 perlpodstyle        Ghid de stil POD Perl  perldiag Mesaje de diagnosticare Perl
 perldeprecation     Deprecieri Perl
 perllexwarn         Avertizările Perl și controlul acestora
 perldebug           Depanarea Perl
 perlvar             Variabile predefinite Perl
 perlre              Expresii regulate Perl, restul poveștii
 perlrebackslash     Expresii regulate Perl cu secvențe de bară oblică inversă
 perlrecharclass     Clase de caractere pentru expresii regulate Perl
 perlreref           Expresii regulate Perl - referință rapidă
 perlref             Referințe Perl, restul poveștii
 perlform            Formate Perl
 perlobj             Obiecte Perl
 perltie             Obiecte Perl ascunse în spatele unor variabile simple
 perldbmfilter       Filtre DBM Perl
 perlipc             Comunicarea între procese Perl
 perlfork            Informații despre Perl fork()
 perlnumber          Semantica numerelor în Perl
 perlthrtut          Tutorial pentru fire de execuție Perl
 perlport            Ghid de portabilitate Perl
 perllocale          Suport pentru localizări Perl
 perluniintro        Introducere în Perl Unicode
 perlunicode         Suportul Perl Unicode
 perlunicook         Carte de rețete Perl Unicode
 perlunifaq          Întrebări frecvente despre Perl Unicode
 perluniprops        Indexul proprietăților Unicode în Perl
 perlunitut          Tutorial Perl Unicode
 perlebcdic          Considerații pentru rularea Perl pe platforme EBCDIC
 perlsec             Securitate Perl
 perlsecpolicy       Politica de gestionare a rapoartelor de securitate Perl
 perlmod             Module Perl: cum lucrează acestea
 perlmodlib          Module Perl: cum se scriu și cum se utilizează
 perlmodstyle        Module Perl: cum să scrieți module cu stil
 perlmodinstall      Module Perl: cum se instalează din CPAN
 perlnewmod          Module Perl: pregătirea unui nou modul pentru distribuție
 perlpragma          Module Perl: scrierea unei pragme de utilizator
 perlutil            Ustensile incluse în distribuția Perl
 perlfilter          Filtre sursă Perl
 perldtrace          Suportul Perl pentru DTrace
 perlglossary        Glosar Perl

Componente interne și interfața limbajului C

    perlembed           Modalități Perl de a încorpora perl în aplicația dvs. C sau C++
    perldebguts         Depanare Perl: trucuri și sfaturi
    perlxstut           Tutorial Perl XS
    perlxs              Interfața de programare a aplicațiilor Perl XS
    perlxstypemap       Instrumente de conversie a tipurilor Perl XS C/Perl
    perlclib            Înlocuiri interne pentru funcțiile standard ale bibliotecii C
    perlguts            Funcții interne Perl pentru cei care fac extensii
    perlcall            Convenții de apelare Perl din C
    perlmroapi          Interfața modulului de rezolvare a metodelor Perl
    perlreapi           Interfața modulului pentru expresii regulate Perl
    perlreguts          Componentele interne ale motorului de expresii regulate Perl
    perlapi             Lista API Perl (autogenerată)
    perlintern          Funcții interne Perl (autogenerate)
    perliol             API în C pentru implementarea lui Perl a In/Ieș în straturi
    perlapio            Interfață de abstractizare In/Ieș internă Perl
    perlhack            Ghidul hackerilor Perl  perlsource Ghid pentru arborele de surse Perl
    perlinterp          Prezentare generală a sursei interpretorului Perl și a modului în care acesta funcționează
    perlhacktut         Parcurgeți crearea unui simplu plasture (corecție) de cod C
    perlhacktips        Sfaturi pentru hacking de cod C în nucleul Perl
    perlpolicy          Politici de dezvoltare Perl
    perlgov             Reguli de guvernare Perl
    perlgit             Folosind git cu depozitul Perl

Istoric

    perlhist            Înregistrări de istoric Perl
    perldelta           Modificări Perl față de versiunea anterioară
    perl5341delta       Modificări Perl în versiunea 5.34.1
    perl5340delta       Modificări Perl în versiunea 5.34.0
    perl5321delta       Modificări Perl în versiunea 5.32.1
    perl5320delta       Modificări Perl în versiunea 5.32.0
    perl5303delta       Modificări Perl în versiunea 5.30.3
    perl5302delta       Modificări Perl în versiunea 5.30.2
    perl5301delta       Modificări Perl în versiunea 5.30.1
    perl5300delta       Modificări Perl în versiunea 5.30.0
    perl5283delta       Modificări Perl în versiunea 5.28.3
    perl5282delta       Modificări Perl în versiunea 5.28.2
    perl5281delta       Modificări Perl în versiunea 5.28.1
    perl5280delta       Modificări Perl în versiunea 5.28.0
    perl5263delta       Modificări Perl în versiunea 5.26.3
    perl5262delta       Modificări Perl în versiunea 5.26.2
    perl5261delta       Modificări Perl în versiunea 5.26.1
    perl5260delta       Modificări Perl în versiunea 5.26.0
    perl5244delta       Modificări Perl în versiunea 5.24.4
    perl5243delta       Modificări Perl în versiunea 5.24.3
    perl5242delta       Modificări Perl în versiunea 5.24.2
    perl5241delta       Modificări Perl în versiunea 5.24.1
    perl5240delta       Modificări Perl în versiunea 5.24.0
    perl5224delta       Modificări Perl în versiunea 5.22.4
    perl5223delta       Modificări Perl în versiunea 5.22.3
    perl5222delta       Modificări Perl în versiunea 5.22.2
    perl5221delta       Modificări Perl în versiunea 5.22.1
    perl5220delta       Modificări Perl în versiunea 5.22.0
    perl5203delta       Modificări Perl în versiunea 5.20.3
    perl5202delta       Modificări Perl în versiunea 5.20.2
    perl5201delta       Modificări Perl în versiunea 5.20.1
    perl5200delta       Modificări Perl în versiunea 5.20.0
    perl5184delta       Modificări Perl în versiunea 5.18.4
    perl5182delta       Modificări Perl în versiunea 5.18.2
    perl5181delta       Modificări Perl în versiunea 5.18.1
    perl5180delta       Modificări Perl în versiunea 5.18.0
    perl5163delta       Modificări Perl în versiunea 5.16.3
    perl5162delta       Modificări Perl în versiunea 5.16.2
    perl5161delta       Modificări Perl în versiunea 5.16.1
    perl5160delta       Modificări Perl în versiunea 5.16.0
    perl5144delta       Modificări Perl în versiunea 5.14.4
    perl5143delta       Modificări Perl în versiunea 5.14.3
    perl5142delta       Modificări Perl în versiunea 5.14.2
    perl5141delta       Modificări Perl în versiunea 5.14.1
    perl5140delta       Modificări Perl în versiunea 5.14.0
    perl5125delta       Modificări Perl în versiunea 5.12.5
    perl5124delta       Modificări Perl în versiunea 5.12.4
    perl5123delta       Modificări Perl în versiunea 5.12.3
    perl5122delta       Modificări Perl în versiunea 5.12.2
    perl5121delta       Modificări Perl în versiunea 5.12.1
    perl5120delta       Modificări Perl în versiunea 5.12.0
    perl5101delta       Modificări Perl în versiunea 5.10.1
    perl5100delta       Modificări Perl în versiunea 5.10.0
    perl589delta        Modificări Perl în versiunea 5.8.9
    perl588delta        Modificări Perl în versiunea 5.8.8
    perl587delta        Modificări Perl în versiunea 5.8.7
    perl586delta        Modificări Perl în versiunea 5.8.6
    perl585delta        Modificări Perl în versiunea 5.8.5
    perl584delta        Modificări Perl în versiunea 5.8.4
    perl583delta        Modificări Perl în versiunea 5.8.3
    perl582delta        Modificări Perl în versiunea 5.8.2
    perl581delta        Modificări Perl în versiunea 5.8.1
    perl58delta         Modificări Perl în versiunea 5.8.0
    perl561delta        Modificări Perl în versiunea 5.6.1
    perl56delta         Modificări Perl în versiunea 5.6
    perl5005delta       Modificări Perl în versiunea 5.005
    perl5004delta       Modificări Perl în versiunea 5.004

Diverse

    perlbook            Informații despre cărțile Perl
    perlcommunity       Informații despre comunitatea Perl
    perldoc             Căutați documentația Perl în format Pod
    perlexperiment      O listă a caracteristicilor experimentale din Perl
    perlartistic        Licența artistică Perl
    perlgpl             Licența publică generală GNU

Specific limbii

    perlcn              Perl pentru chineză simplificată (în UTF-8)
    perljp              Perl pentru japoneză (în EUC-JP)
    perlko              Perl pentru coreeană (în EUC-KR)
    perltw              Perl pentru chineză tradițională (în Big5)

Specifică platformei

    perlaix             Note Perl pentru AIX
    perlamiga           Note Perl pentru AmigaOS
    perlandroid         Note Perl pentru Android
    perlbs2000          Note Perl pentru POSIX-BC BS2000
    perlcygwin          Note Perl pentru Cygwin
    perlfreebsd         Note Perl pentru FreeBSD
    perlhaiku           Note Perl pentru Haiku
    perlhpux            Note Perl pentru HP- UX
    perlhurd            Note Perl pentru Hurd
    perlirix            Note Perl pentru Irix
    perllinux           Note Perl pentru Linux
    perlmacosx          Note Perl pentru Mac OS X
    perlopenbsd         Note Perl pentru OpenBSD
    perlos2             Note Perl pentru OS/2
    perlos390           Note Perl pentru OS/390
    perlos400           Note Perl pentru OS/400
    perlplan9           Note Perl pentru Plan 9
    perlqnx             Note Perl pentru QNX
    perlriscos          Note Perl pentru RISC OS
    perlsolaris         Note Perl pentru Solaris
    perlsynology        Note Perl pentru Synology
    perltru64           Note Perl pentru Tru64
    perlvms             Note Perl pentru VMS
    perlvos             Note Perl pentru Stratus VOS
    perlwin32           Note Perl pentru Windows

Cioturi ale documentelor șterse

    perlboot           
    perlbot            
    perlrepository
    perltodo
    perltooc           
    perltoot

În sistemele Debian, trebuie să instalați pachetul perl-doc, care conține majoritatea documentației standard Perl și programul perldoc.

Este disponibilă o documentație suplimentară amplă pentru modulele Perl, atât pentru cele distribuite împreună cu Perl, cât și pentru modulele de la terți care sunt împachetate sau instalate local.

Ar trebui să puteți vizualiza documentația Perl cu programul man(1) sau perldoc(1).

Unele documentații nu sunt disponibile sub formă de pagini man, astfel încât, dacă o referință încrucișată nu este găsită în man, încercați cu «perldoc». «perldoc» vă poate duce, de asemenea, direct la documentația pentru funcții (cu ajutorul opțiunii -f). Consultați «perldoc --help» (sau «perldoc perldoc» sau «man perldoc») pentru alte opțiuni utile pe care le oferă «perldoc».

În general, dacă ceva ciudat a mers prost cu programul dvs. și nu sunteți sigur unde ar trebui să căutați ajutor, încercați să faceți codul dvs. să fie conform cu use strict și use warnings. Acestea vă vor indica adesea exact unde se află problema.

DESCRIERE

Perl înseamnă oficial „Practical Extraction and Report Language” (Limbaj practic de extragere și raportare), cu excepția cazurilor în care nu este așa.

Perl a fost inițial un limbaj optimizat pentru scanarea fișierelor text arbitrare, extragerea de informații din aceste fișiere text și afișarea de rapoarte bazate pe aceste informații. Acesta a devenit rapid un limbaj bun pentru multe sarcini de gestionare a sistemului. De-a lungul anilor, Perl s-a transformat într-un limbaj de programare de uz general. Este utilizat pe scară largă pentru orice, de la „câteva linii” rapide până la dezvoltarea de aplicații pe scară largă.

Limbajul se dorește a fi mai degrabă practic (ușor de utilizat, eficient, complet) decât frumos (mic, elegant, minimal). Acesta combină (în opinia autorului, oricum) unele dintre cele mai bune caracteristici ale sed, awk și sh, făcându-l familiar și ușor de utilizat de către utilizatorii Unix pentru a elabora soluții rapide la probleme enervante. Facilitățile sale de programare de uz general suportă paradigmele de programare procedurală, funcțională și orientată pe obiecte, ceea ce face din Perl un limbaj confortabil pentru proiecte majore pe termen lung, indiferent de înclinația dumneavoastră.

Rădăcinile lui Perl în procesarea textului nu au fost uitate de-a lungul anilor. Încă se mândrește cu unele dintre cele mai puternice expresii regulate care pot fi găsite oriunde, iar suportul său pentru textul Unicode este de clasă mondială. De asemenea, gestionează toate tipurile de text structurat, prin intermediul unei colecții extinse de extensii. Aceste biblioteci, colectate în „CPAN”, oferă soluții gata făcute pentru o gamă uimitoare de probleme. Atunci când nu au stabilit ele însele standardul, ele fură de la cei mai buni -- la fel ca Perl însuși.

DISPONIBILITATE

Perl este disponibil pentru majoritatea sistemelor de operare, inclusiv pentru aproape toate platformele de tip Unix. Consultați secțiunea „Supported Platforms” din «perlport» pentru o listă.

MEDIU

A se vedea secțiunea „ENVIRONMENT” din «perlrun».

AUTOR

Larry Wall <larry@wall.org>, cu ajutorul a o mulțime de alte persoane.

Dacă poveștile și mărturiile dumneavoastră despre succesul Perl pot fi de ajutor altora care doresc să promoveze utilizarea Perl în aplicațiile lor, sau dacă doriți pur și simplu să vă exprimați recunoștința față de Larry și dezvoltatorii Perl, vă rugăm să scrieți la perl-thanks@perl.org .

FIȘIERE

 "@INC"                 locațiile bibliotecilor perl

„@INC” de mai sus este o referință la variabila încorporată cu același nume; a se vedea perlvar pentru mai multe informații.

CONSULTAȚI ȘI

 Pagina principală Perl          https://www.perl.org/
 Articole Perl                   https://www.perl.com/
 Arhiva cuprinzătoare Perl       https://www.cpan.org/
 Distribuitori Perl              https://www.pm.org/

DIAGNOSTICARE

Utilizarea pragmei „use strict” asigură că toate variabilele sunt declarate în mod corespunzător și previne alte utilizări greșite ale caracteristicilor Perl tradiționale. Acestea sunt activate în mod implicit în cadrul domeniului de aplicare al „use v5.12” (sau mai mare).

Pragma „use warnings” produce niște diagnostice minunate. Este activată în mod implicit atunci când spuneți „use v5.35” (sau mai mare). Se poate folosi și opțiunea -w, dar utilizarea acesteia este în mod normal descurajată, deoarece se aplică la tot codul Perl executat, inclusiv la cel care nu se află sub controlul dumneavoastră.

Consultați perldiag pentru explicații despre toate diagnosticele Perl. Pragma „use diagnostics” transformă automat avertismentele și erorile Perl, în mod normal laconice, în aceste forme mai lungi.

Erorile de compilare vă vor indica numărul de linie al erorii, precum și următorul simbol sau tip de simbol care trebuie examinat; (într-un script transmis către Perl prin intermediul opțiunilor -e, fiecare -e este socotit ca o linie).

Scripturile setuid au constrângeri suplimentare care pot produce mesaje de eroare precum „Insecure dependency”. A se vedea «perlsec».

Am menționat că ar trebui să vă gândiți neapărat să folosiți pragma use warnings?

ERORI

Comportamentul impus de pragma use warnings nu este obligatoriu.

Perl se află la mila definițiilor mașinii dvs. pentru diverse operații, cum ar fi distribuirea tipurilor, atof(), și ieșirea în virgulă mobilă cu sprintf().

Dacă stdio-ul (intrarea/ieșirea standard) dvs. necesită o căutare sau un eof între citirile și scrierile pe un anumit flux, la fel face și Perl; (acest lucru nu se aplică la sysread() și syswrite().)

Deși niciunul dintre tipurile de date încorporate nu are limite de dimensiune arbitrare (în afară de dimensiunea memoriei), există totuși câteva limite arbitrare: un nume de variabilă dat nu poate fi mai lung de 251 de caractere. Numerele de linie afișate de diagnostice sunt stocate intern ca numere întregi scurte, astfel încât acestea sunt limitate la un maxim de 65535 (numerele mai mari fiind de obicei afectate de depășire și încep din nou, de lazero).

Puteți trimite rapoartele de erori (asigurați-vă că includeți informațiile complete de configurare, așa cum au fost generate de programul «myconfig» în arborele sursă perl sau prin «perl -V») la <https://github.com/Perl/perl5/issues>.

Perl înseamnă, de fapt, „Pathologically Eclectic Rubbish Lister” (Colector de gunoi pretențios patologic), dar nu spuneți nimănui că am spus asta.

NOTE

Motto-ul Perl este „Există mai multe moduri de a face acest lucru”. A ghici cât de multe sunt mai multe este lăsat ca un exercițiu pentru cititor.

Cele trei virtuți principale ale unui programator sunt Lenea, Nerăbdarea și Orgoliul. Vedeți Camel Book pentru a afla de ce.

TRADUCERE

Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.

12 aprilie 2025 perl v5.36.0