Scroll to navigation

PERL5421DELTA(1) Perl-Referenzanleitung für Programmierer PERL5421DELTA(1)

BEZEICHNUNG

perl5124delta - Was in Perl v5.24.4 neu ist

BESCHREIBUNG

Dieses Dokument beschreibt die Unterschiede zwischen den Veröffentlichungen 5.42.0 und 5.42.1.

Falls Sie von einer älteren Version wie 5.40.0 aktualisieren, dann lesen Sie zuerst perl5420delta(1perl), das die Unterschiede zwischen 5.40.0 und 5.42.0 beschreibt.

Inkompatible Änderungen

Es gibt keine Änderungen, die absichtlich zu Perl 5.42.0 inkompatibel sind. Falls solche existieren, dann sind dies Fehler und wir bitten um das Einreichen eines Berichtes. Lesen Sie dazu »Fehler melden« weiter unten.

Module und Pragmata

Aktualisierte Module und Pragmata

  • Module::CoreList(3perl) wurde von Version 5.20250702 auf 5.20260308 aktualisiert.
  • POSIX wurde von Version 2.23 auf 2.23_01 aktualisiert.

Dokumentation

Änderungen an bestehender Dokumentation

Wir haben versucht, die Dokumentation entsprechend der hier aufgeführten Änderungen zu aktualisieren. Falls Sie Fehlendes finden, öffnen Sie einen Problembericht unter <https://github.com/Perl/perl5/issues>.

Konfiguration und Kompilierung

Es ist jetzt möglich, Configure Werte zu übergeben, die POSIX-Locale-Kategorien betreffen, um deren automatische Berechnung außer Kraft zu setzen. Damit funktioniert Cross-Kompiierung. Am einfachsten erfolgt dies, indem das C-Programm, das die Berechnung durchführt, aus Configure herausgelöst und dann alleine auf der Zielmaschine ausgeführt wird und anschließend die Ausgabe an Configure auf der anderen Maschine übergeben wird. In Porting/Glossary sind Beispiele. [GH #22992 <https://github.com/Perl/perl5/issues/22992>]

Testen

Es wurden Tests hinzugefügt und geändert, um die anderen Ergänzungen und Änderungen in dieser Veröffentlichung zu berücksichtigen.

Plattformunterstützung

Plattformspezifische Hinweise

Thread-sichere Handhabung von Locales wurde in allen Veröffentlichungen aufgrund von offensichtlichen Fehlern in der Unterstützung in dem zugrundeliegenden Betriebssystem deaktiviert [GH #23825 <https://github.com/Perl/perl5/issues/23825>]
Korrektur von Bauten mit "USE_IMP_SYS" definiert, aber "USE_ITHREADS" nicht definiert.

Ausgewählte Fehlerkorrekturen

  • "use 5.42" schaltet jetzt "use source::encoding "ascii"" für den Rest der Zeile ein (neben nachfolgenden Zeilen). [GH #23881 <https://github.com/Perl/perl5/issues/23881>]
  • Perl 5.42.0 handhabt den Übergang von/zur Winterzeit nicht korrekt. Die Zeit und/oder Zeitzone kann in Zeitbereichen rund um den Übergang um eine Stunde versetzt sein. Dies ist eine Regression gegenüber früheren Veröffentlichungen und ist jetzt behoben. Dieser Fehler wurde im den Perlbereich in der POSIX-Funktion »strftime« sichtbar und in XS-Code, mit sowohl der »my_strftime«, »sv_strftime_ints« oder »sv_strftime_tm« in Perlapi. [GH #23878 <https://github.com/Perl/perl5/issues/23878>]
  • Bestimmte Konstrukte, die eine "for"-Schleife mit zwei Variablen involvierten, brachten den Perl-Compiler in Perl 5.42.0 zum Absturz:

        # Zwei-Variable for-Schleife über eine Liste, die von einem
        # Methodenaufruf zurückgegeben wurde:
        for my ($x, $y) (Some::Class->foo()) { … }
        for my ($x, $y) ($object->foo()) { … }
        

    und

        # Zwei-Variable for-Schleife über eine Liste, die von einem Aufruf
        # einer lexikal(lisch importierten) Subroutine zurückkam, alle
        # innerhalb einer Subroutine mit lexikalischem Geltungsbereich
        # oder einem anonymen:
        my sub foo { … }
        my $fn = sub {
            for my ($x, $y) (foo()) { … }
        };
        use builtin qw(indexed);  # lexikalischer Import!
        my sub bar {
            for my ($x, $y) (indexed(…)) { … }
        }
        

    Diese wurden behoben. [GH #23405 <https://github.com/Perl/perl5/issues/23405>]

  • Seit Perl 5.32.0 erhielt der zweite Zweig des ternären Bedingungsoperators nicht den korrekten Selbstbelebungs-Kontext angewandt. In beispielsweise in etwas wie

        @{ $cond ? $h{foo} : $h{bar} } = …;
        

    würde der erste Zweig korrekt $h{foo} auf eine Feldreferenz selbstbelebt, aber der zweite Zweig könnte inkorrekt $h{bar} auf eine Hash-Referenz selbstbelebt werden. [GH #18669 <https://github.com/Perl/perl5/issues/18669>].

Danksagungen

Perl 5.42.1 stellt ungefähr 8 Monate an Entwicklung seit Perl 5.42.0 dar und enthält ungefähr 7.200 geänderte Zeilen über 55 Dateien von 12 Autoren.

Werden automatisch erstellte Dateien, Dokumentation und Veröffentlichungswerkzeuge ausgeschlossen, dann gab es ungefähr 1700 geänderte Zeilen an 16 .pm-, .t-, .c- und .h-Dateien.

Perl gedeiht Dank seiner lebhaften Gemeinschaft an Benutzern und Entwicklern weiter in sein viertes Jahrzehnt. Von den folgenden Personen ist bekannt, dass sie Verbesserungen beigetragen haben, die zu Perl 5.42.1 wurden:

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.

Die vorstehende Liste ist wahrscheinlich unvollständig, da sie automatisch aus dem Verlauf einer Revisionssteuerung erstellt wurde. Insbesondere enthält sie die (besonders wertgeschätzten) Beitragenden nicht, die Probleme in das Fehlererfassungssystem von Perl berichteten.

Viele der in dieser Version aufgenommenen Änderungen stammten aus den CPAN-Modulen, die Teil des Kerns von Perl sind. Wir sind der gesamten CPAN-Gemeinschaft sehr dankbar, dass sie dem Gedeihen von Perl helfen.

Eine vollständigere Liste aller Personen, die früher bei Perl mitgewirkt haben, finden Sie in der Datei AUTHORS in der Quelldistribution von Perl.

Fehler berichten

Wenn Sie glauben, einen Fehler gefunden zu haben, schauen Sie in das Fehlererfassungssystem von Perl unter <https://github.com/Perl/perl5/issues> prüfen. Informationen finden Sie möglicherweise auch auf der Perl-Startseite <https://www.perl.org/> geben.

Falls Sie glauben, dass Sie einen nicht berichteten Fehler kennen, öffnen Sie bitte einen Problembericht unter <https://github.com/Perl/perl5/issues>. Bitte reduzieren Sie Ihr Problem auf einen minimalen, aber ausreichenden Testfall.

Falls Ihr Fehlerbericht Sicherheits-Auswirkungen enthält, weswegen er nicht zum Senden an ein öffentliches Fehlererfassungssystem geeignet ist, dann lesen Sie den Abschnitt »SECURITY VULNERABILITY CONTACT INFORMATION« in perlsec(1), um Details zum Berichten des Problems zu erfahren.

Danke sagen

Falls Sie sich bei Perl-5-Portierern für ihre Arbeit an Perl 5 bedanken möchten, können Sie dies durch die Ausführung des Programms perlthanks(1) machen:

    perlthanks

Damit wird eine E-Mail an die Perl-5-Portierungsliste gesandt, die Ihren Dank enthält.

SIEHE AUCH

Die Datei Changes für eine Erläuterung, wie die vollständigen Details der Änderungen betrachtet werden können.

Die Datei INSTALL, wie Perl gebaut wird.

Die Datei README für allgemeines Zeug.

Die Dateien Artistic und Copying für Fragen zum Urheberrecht.

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer.

9. März 2026 perl v5.42.1