14 Stimmen

Wo gibt es gute Quellen zum Erlernen der neuen Funktionen von Perl 5.10?

Ich habe bis vor kurzem nicht bemerkt, dass Perl 5.10 bedeutende neue Funktionen hat, und ich habe mich gefragt, ob mir jemand ein paar gute Quellen nennen kann, um diese kennenzulernen. Ich habe bei Google nach ihnen gesucht und alles, was ich gefunden habe, waren ein paar Folien und ein kurzer Überblick. Für einige der Funktionen (zumindest für mich) wäre es schön, wenn es mehr Erklärungen gäbe.

Für jeden Link wären wir dankbar.

-fREW

15voto

friedo Punkte 64178

El perldelta manpage enthält alle wichtigen Details. Es gibt eine kurze (aber informative) Folienpräsentation, Perl 5.10 für Leute, die nicht völlig wahnsinnig sind . Und eine gute PerlMonks Diskussion zu diesem Thema.

15voto

David Segonds Punkte 80975

Ich fand dies Artikel nützlich.

Diese un ist eher auf 5.10 Erweiterte reguläre Ausdrücke ausgerichtet.

Und auch Eine Einführung für Anfänger in Perl 5.10 .

Schließlich ist diese ausgezeichnete Zusammenfassung darüber, warum Sie Perl 5.10 verwenden sollten, und aus dem ich das Folgende entnommen habe:

  • Zustandsvariablen Kein Scoping von Variablen mit einem äußeren geschweiften Block mehr, oder der böse my $f if 0 Trick (letzteres ist jetzt ein Syntaxfehler).
  • defined-or Nicht mehr $x = defined $y ? $y : $z, Sie können stattdessen $x = $y // $z schreiben.
  • regexp-Verbesserungen Viel Arbeit wurde von dave_the_m geleistet, um die Interna aufzuräumen, was den Weg für demerphq ebnete, alle möglichen neuen coolen Sachen hinzuzufügen.
  • Nicholas Clark hat an den Implementierungen von SVs, AVs, HVs und anderen Datenstrukturen gearbeitet, um deren Größe so weit zu reduzieren, dass sie auf 32-Bit-Architekturen einen guten Platz finden
  • kleinere konstante Sub-Footprints Nicholas Clark hat die Größe der konstanten Subs reduziert (z. B. Verwendung der Konstante FOO => 2). Das Ergebnis beim Laden eines Moduls wie POSIX ist signifikant.
  • gestapelten filetests können Sie nun if (-e -f -x $file) sagen. Perl 6 sollte das eigentlich erlauben, aber man hat sich für eine andere Richtung entschieden. Nun gut.
  • lexikalisches $_ erlaubt es, $_ zu verschachteln (ohne Verwendung von local).
  • Prototyp können Sie nun eine Sub mit Prototyp deklarieren . Wenn er ohne Argumente aufgerufen wird, wird er mit $ gefüttert. (ermöglicht es Ihnen, Builtins sauberer zu ersetzen).
  • x-Operator auf einer Liste kann man nun sagen my @arr = qw(x y z) x 4. (Update: diese Funktion wurde in die 5.8-Codebasis zurückportiert, nachdem sie in blead implementiert wurde, weshalb Somni bemerkt, dass sie in 5.8.8 verfügbar ist).
  • switch ein echtes switch/given-Konstrukt, inspiriert von Perl 6
  • Smart-Match-Operator (~~) als Ergänzung zum Schalter
  • closure improvements dave_the_m hat den Code zur Behandlung von Closures gründlich überarbeitet, um eine Reihe von Fehlern und Speicherlecks zu beheben.
  • schneller Unicode lc, uc und /i sind schneller bei Unicode-Zeichenfolgen. Verbesserungen am UTF-8-Cache.
  • verbesserte Sortierungen inplace-Sortierungen durchgeführt, wenn möglich, anstatt eine temporäre zu verwenden. Sortierfunktionen können rekursiv aufgerufen werden: Sie können einen Baum sortieren
  • Karte im nichtigen Kontext ist nicht mehr böse. Nur moralisch.
  • weniger Opcodes, die bei der Erstellung von anonymen Listen und Hashes verwendet werden. Schnelleres Kätzchen!
  • tainting improvements Mehr Dinge, die tainted sein könnten, werden als solche markiert (z.B. sprintf-Formate)
  • $# und $* entfernt Weniger Aktion aus der Ferne
  • perlcc und JPL entfernt Diese Dinge waren einfach Fehlermagneten, und niemand kümmerte sich ausreichend um sie.

13voto

pjf Punkte 5921

Es gab eine Reihe von Artikeln in Perl-Tipps über Perl 5.10:

Es gibt auch meine Was ist neu in Perl 5.10 Folien an Perl Training Australia's Präsentationen Seite aber da sie vor der Veröffentlichung von 5.10 geschrieben wurden, könnten sich einige Dinge leicht geändert haben. Ich glaube, dass rjbs' Perl 5.10 für Leute, die nicht völlig wahnsinnig sind deckt jetzt alles ab, was meine Dias früher auch abdeckten.

Ich wünsche Ihnen alles Gute,

Paul

Obligatorische Offenlegung der Befangenheit: Ich habe fast alle in diesem Beitrag erwähnten Quellen verfasst,

7voto

brian d foy Punkte 124323

Perl lernen, Fünfte Ausgabe und später scover 5.10. Abgesehen davon sind die von anderen erwähnten Ressourcen, einschließlich perldelta, ziemlich gut. Ich habe ein paar Artikel über einige der Funktionen für Die wirksame Perle .

Der beste Einstieg ist, sich eine interessante Funktion auszusuchen und mit ihr herumzuspielen. So haben es die Autoren der Leitfäden, die Sie hier finden, auch gemacht. So sollten Sie wirklich mit dem Erlernen jeder Sprache beginnen.

5voto

Bash Punkte 4303

Regex-Verbesserungen umfassen benannte Erfassungen: Siehe hier

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X