PERL5421DELTA(1perl) Ghid de referință pentru programatorii Perl PERL5421DELTA(1perl)

perl5421delta - ce este nou în Perl v5.42.1

Acest document descrie diferențele dintre versiunea 5.42.0 și versiunea 5.42.1.

Dacă actualizați de la o versiune anterioară, cum ar fi 5.0.0, citiți mai întâi perl5420delta, care descrie diferențele dintre 5.40.0 și 5.42.0.

Nu există modificări incompatibile în mod intenționat cu Perl 5.42.0. Dacă există, acestea sunt erori, și vă rugăm să ne trimiteți un raport. Consultați secțiunea «Raportarea erorilor» de mai jos.

  • Module::CoreList a fost actualizat de la versiunea 5.20250702 la 5.20260308.
  • baza a fost actualizată de la versiunea 2.23 la 2.23_01.

Am încercat să actualizăm documentația pentru a reflecta modificările enumerate în acest document. Dacă descoperiți ceva ce ne-a scăpat, deschideți o solicitare la https://github.com/Perl/perl5/issues.

Acum este posibil să se transmită către Configure valorile referitoare la categoriile configurației regionale POSIX, suprascriind astfel calculul automat al acestora. Acest lucru permite funcționarea compilării încrucișate. Cea mai simplă modalitate de a face acest lucru este să extrageți programul C care efectuează calculul din Configure, să-l rulați pe mașina țintă și apoi să transmiteți valorile pe care le generează către Configure pe cealaltă mașină. Porting/Glossary conține exemple. [GH #22992 https://github.com/Perl/perl5/issues/22992]

Au fost adăugate și modificate teste pentru a reflecta celelalte adăugiri și modificări din această versiune.

Gestionarea configurației regionale thread-safe a fost dezactivată în toate versiunile din cauza unor erori aparente în suportul sistemului de operare subiacent. [GH #23825 https://github.com/Perl/perl5/issues/23825]
Remediază versiunile în care "USE_IMP_SYS" este definită, dar "USE_ITHREADS" nu este definită.

  • "use 5.42" activează acum "use source::encoding "ascii"" pentru restul liniei (precum și pentru liniile următoare). [GH #23881 https://github.com/Perl/perl5/issues/23881]
  • Perl 5.42.0 nu gestionează corect trecerea la/de la ora de vară. Ora și/sau fusul orar pot prezenta o abatere de o oră în intervalele din jurul acestor tranziții. Aceasta reprezintă o regresie față de versiunile anterioare și a fost remediată. Această eroare era evidentă din spațiul perl din funcția POSIX „strftime” și din codul XS cu oricare dintre „my_strftime” din perlapi, „sv_strftime_ints” din perlapi sau „sv_strftime_tm” din perlapi. [GH #23878 https://github.com/Perl/perl5/issues/23878]
  • Anumite construcții care implică o buclă "for" cu două variabile provocau blocarea compilatorului Perl în versiunea 5.42.0:
    # Buclă for cu două variabile peste o listă returnată de un apel de metodă:
    for my ($x, $y) (Some::Class->foo()) { ... }
    for my ($x, $y) ($object->foo()) { ... }
    

    și

    # Buclă „for” cu două variabile aplicată unei liste returnate
    # de un apel către o subrutină lexicală (importată lexical),
    # totul în cadrul unei subrutine cu domeniu de aplicare lexical
    # sau a unei subrutine anonime:
    my sub foo { ... }
    my $fn = sub {
        for my ($x, $y) (foo()) { ... }
    };
    use builtin qw(indexed);  # import lexical!
    my sub bar {
        for my ($x, $y) (indexed(...)) { ... }
    }
    

    Acestea au fost remediate. [GH #23405 https://github.com/Perl/perl5/issues/23405]

  • Începând cu Perl 5.32.0, ramurii a doua a unui operator condițional ternar nu i se aplica contextul corect de auto-vivificare. De exemplu, într-un cod precum
    @{ $cond ? $h{foo} : $h{bar} } = ...;
    

    prima ramificație ar transforma în mod corect $h{foo} într-o referință la o matrice, dar a doua ramificație ar putea transforma în mod incorect $h{bar} într-o referință la un hash. [GH #18669 https://github.com/Perl/perl5/issues/18669].

Mulțumiri către

Perl 5.42.1 reprezintă aproximativ 8 luni de dezvoltare de la Perl 5.42.0 și conține aproximativ 7,200 de linii de modificări în 55 de fișiere de la 12 autori.

Excluzând fișierele generate automat, documentația și instrumentele de lansare, au existat aproximativ 1.700 de linii de modificări la 16 fișiere .pm, .t, .c și .h.

Perl continuă să prospere în al patrulea deceniu de existență datorită unei comunități dinamice de utilizatori și dezvoltatori. Următoarele persoane sunt cunoscute pentru contribuțiile lor la îmbunătățirile care au dus la apariția versiunii Perl 5.42.1:

David Mitchell, Eric Herman, Karen Etheridge, Karl Williamson, Lukas Mai, Max Maischein, Philippe Bruhat (BooK), Richard Leach, Steve Hay, Thibault Duponchelle, Tony Cook, Yitzchak Scott-Thoennes.

Lista de mai sus este aproape sigur incompletă, deoarece este generată automat din istoricul controlului versiunilor. În special, nu include numele contribuitorilor (foarte apreciați) care au raportat probleme către sistemul de urmărire a erorilor Perl.

Multe dintre modificările incluse în această versiune provin din modulele CPAN incluse în nucleul Perl. Suntem recunoscători întregii comunități CPAN pentru ajutorul acordat în dezvoltarea Perl.

Pentru o listă mai completă a istoricului tuturor contribuitorilor ai Perl, vă rugăm să consultați fișierul AUTHORS din distribuția sursă Perl.

Dacă descoperiți ceea ce credeți că este o eroare, puteți verifica baza de date a erorilor Perl la adresa https://github.com/Perl/perl5/issues. De asemenea, puteți găsi informații la adresa https://www.perl.org/, pagina principală a Perl.

Dacă credeți că ați identificat o eroare care nu a fost încă semnalată, vă rugăm să deschideți o sesizare la https://github.com/Perl/perl5/issues. Asigurați-vă că reduceți problema la un caz de test mic, dar suficient.

Dacă problema pe care o raportați are implicații de securitate care fac ca trimiterea acesteia către un sistem public de urmărire a problemelor să fie inadecvată, consultați secțiunea «INFORMAȚII DE CONTACT PENTRU VULNERABILITĂȚI DE SECURITATE» din perlsec pentru detalii privind modul de raportare a problemei.

Mulțumiri către

Dacă doriți să le mulțumiți membrilor echipei Perl 5 Porters pentru munca depusă în cadrul proiectului Perl 5, puteți face acest lucru rulând programul "perlthanks":

perlthanks

Astfel, se va trimite un mesaj către lista de discuții Perl 5 Porters, în care îți exprimi mulțumirile.

Fișierul Changes pentru o explicație despre cum se vizualizează detalii exhaustive despre ce s-a modificat.

Fișierul INSTALL despre cum să construiți Perl.

Fișierul README pentru informații generale.

Fișierele Artistic și Copying pentru informații despre drepturile de autor.

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.

2 aprilie 2026 perl v5.42.2