PERL(1perl) | Ghid de referință pentru programatorii Perl | PERL(1perl) |
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 Regexuri 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 Operatorii 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 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 perlclass Sintaxa claselor Perl perldbmfilter Filtre DBM Perl perlipc Comunicare interproces 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 Î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ță 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 ale istoriei Perl perldelta Modificări Perl față de versiunea anterioară perl5381delta Modificări Perl în versiunea 5.38.1 perl5380delta Modificări Perl în versiunea 5.38.0 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 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) 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
Într-un sistem de tip Unix, aceste fișiere de documentație sunt de obicei disponibile și sub formă de pagini de manual pentru a fi utilizate cu programul man.
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
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.
11 februarie 2024 | perl v5.38.2 |