table of contents
- trixie 4.27.0-1
- trixie-backports 4.28.0-2~bpo13+2
- testing 4.28.0-2
- unstable 4.28.0-2
| PERL(1) | Ghid de referință pentru programatorii Perl | PERL(1) |
NUME¶
perl - interpretul limbajului Perl 5
SINOPSIS¶
perl [ -sTtuUWX ]
[ -hv ] [ -V[:variabile-configurare] ]
[ -cw ] [ -d[t][:depanator] ] [ -D[număr/listă] ]
[ -pna ] [ -Fmodel ] [ -l[octal] ] [ -0[octal/hexazecimal] ]
[ -Idirector ] [ -m[-]modul ] [ -M[-]'modul...' ] [ -f ]
[ -C [număr/listă] ]
[ -S ]
[ -x[director] ]
[ -i[extensie] ]
[ [-e|-E] 'comandă' ] [ -- ] [ fișier-program ] [ 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: declarații, enunțuri, comentarii
perldata Structuri de date Perl perlop Expresii Perl: operatori, precedență, șiruri literale
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 Secvențe „backslash” de expresii regulate Perl
perlrecharclass Clase de caractere pentru expresii regulate Perl
perlreref Referință rapidă de expresii regulate Perl
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
perlclass Sintaxa claselor Perl
perlipc Comunicare interprocese Perl
perlfork Informații despre Perl fork()
perlnumber Semantica numerelor Perl
perlthrtut Tutorial pentru firele Perl
perlport Ghid de portabilitate Perl
perllocale Suport localizare Perl
perluniintro Introducere Perl Unicode
perlunicode Suportul Perl Unicode
perlunicook Carte de rețete Perl Unicode
perlunifaq Întrebări frecvente Perl Unicode
perluniprops Indexul proprietăților Unicode în Perl
perlunitut Tutorial Perl Unicode
perlebcdic Considerații pentru utilizarea Perl pe platforme EBCDIC
perlsec Securitatea Perl
perlsecpolicy Politica de gestionare a rapoartelor de securitate Perl
perlmod Module Perl: cum funcționează acestea
perlmodlib Module Perl: cum se scriu și se utilizează
perlmodstyle Module Perl: cum se scriu 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 Ustensilele incluse în distribuția Perl
perlfilter Filtrele de 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 C sau C++
perldebguts Depanare Perl: trucuri și sfaturi
perlxstut Tutorial Perl XS
perlxs Interfață de programare a aplicațiilor Perl XS
perlxstypemap Instrumente de conversie a tipurilor Perl XS C/Perl
perlclib Interacțiunea cu 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ță modul de rezolvare a metodelor Perl
perlreapi Interfață modul de expresie regulată Perl
perlreguts Componente interne ale motorului de expresie regulată Perl
perlclassguts Componente interne ale sintaxei claselor
perlapi Listarea API Perl (autogenerată)
perlintern Funcții interne Perl (autogenerate)
perliol API C pentru implementarea lui Perl a IO în Layers
perlapio Interfața de abstractizare IO internă Perl
perlhack Ghidul hackerilor Perl
perlsource Ghidul arborelui sursă Perl
perlinterp Prezentare generală a sursei interpretului Perl și a modului în care funcționează
perlhacktut Parcurgerea creării unui simplu patch de cod C
perlhacktips Sfaturi pentru hacking de cod C din nucleul Perl
perlpolicy Politici de dezvoltare Perl
perlgov Regulile de guvernare Perl
perlgit Utilizarea git cu depozitul Perl
Istoric¶
perlhist Înregistrări de istoric Perl
perldelta Modificări Perl față de versiunea anterioară
perl5400delta Modificări Perl în versiunea 5.40.0
perl5382delta Modificări Perl în versiunea 5.38.2
perl5381delta Modificări Perl în versiunea 5.38.1
perl5380delta Modificări Perl în versiunea 5.38.0
perl5363delta Modificări Perl în versiunea 5.36.3
perl5362delta Modificări Perl în versiunea 5.36.2
perl5361delta Modificări Perl în versiunea 5.36.1
perl5360delta Modificări Perl în versiunea 5.36.0
perl5343delta Modificări Perl în versiunea 5.34.3
perl5342delta Modificări Perl în versiunea 5.34.2
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 de manual, așa că, dacă o referință încrucișată nu este găsită în manual, î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 „Platforme acceptate” în perlport pentru o listă.
MEDIU¶
Consultați secțiunea „MEDIU” 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¶
- <https://www.perl.org/>
- Pagina principală Perl
- <https://www.perl.com/>
- Articole despre Perl
- <https://www.cpan.org/>
- Arhiva cuprinzătoare Perl
- <https://www.pm.org/>
- Vânzătorii/Librarii Perl
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.
| 27 iulie 2025 | perl v5.40.1 |