welche Gründe sprechen für eine "neuere" Version?
Vielen Dank für die Frage, es gibt nicht viele Leute die sie stellen würden.
Gründe gibt es viele. Allen voraus, ein wenig Kontext: Perl 5.8.6 wurde am 27. November 2004 veröffentlicht. Seitdem wurde Perl kontinuierlich weiterentwickelt, sowohl im Bereich der Fehlerbehebung als auch durch das Hinzufügen von neuen Features. Das sind über 5 Jahre Entwicklung.
Am 23. August 2009 wurde Perl 5.10.1 (sozusagen 5.10 SP1) veröffentlicht, welches momentan einen guten Kompromiss bietet zwischen "wurde real angewendet und hat keine groben Probleme" und "das Aktuellste". (Seitdem wurden 11 neue Versionen veröffentlicht mit der aktuellsten öffentlichen 5.12.1 vom 16. Mai und der aktuellsten Entwicklerversion 5.13.3 vom 20. Juli.)
Das Wichtigste, was für sie interessant sein dürfte: Viele dieser Fixes betreffen die Verarbeitung von UTF-8, was für ein deutsches Unternehmen recht wichtig ist.
Neue Sprach-Features die für Programmierer interessant sind:
- Defined-or operators ( //, //= )
- perl-internes switch/case Konstrukt [ http://search.cpan.org/~dagolden/perl-5.13.3/pod/perlsyn.pod#Switch_statements_____ ]
- smart match operator ( ~~ ) [ http://search.cpan.org/~dagolden/perl-5.13.3/pod/perlsyn.pod#Smart_matching_in_detail ]
- say()
- state Variablen [ http://search.cpan.org/~dagolden/perl-5.13.3/pod/perlsub.pod#Persistent_variables_via_state() ]
- Regexp-Verbesserungen wie z.B. das Benennen von Capture-Buffern
Es gab insgesamt mindestens 186 Bugfixes die wichtig genug waren um in den perldelta-Dokumenten veröffentlicht zu werden. Insgesamt gab es 769 Bugfixes. Bugfixes betreffen Bereiche wie Crashes, falsches Verhalten, Memory Leaks, etc. Eine Übersicht dazu: [ http://rt.perl.org/rt3/NoAuth/perl5/Overview.html#byversion ]
Bereiche in denen sich bei jedem Release was getan hat:
- Bug-Fixes
- Verbesserungen von existierender Funktionalität
- Hinzufügen neuer Funktionalität
- Speicherverbrauchsverbesserungen
- Geschwindigkeitsoptimierungen
Einen detaillierteren Überblick bieten:
- http://search.cpan.org/~dagolden/perl-5.13.3/pod/perl5100delta.pod
- http://search.cpan.org/~dagolden/perl-5.13.3/pod/perl5101delta.pod
Dies sind nur Veränderungen im Perl-Kern. Dazu gibt es auch noch unzählige Verbesserungen in Modulen die mit dem Kern ausgeliefert werden.
Hinzu kommt auch noch der Aspekt dass die Entwicklungs-Community von Perl, und damit CPAN, auch nicht stehenbleibt, sondern den aktuellen Versionen folgt. Es gibt immer mehr Module auf CPAN die nur noch mit neueren Versionen kompatibel sind. Wenn man geringere Perl-Versionen beibehält, beschränkt man sich dadurch auf Module die nicht mehr weiterentwickelt werden und deren Fehler nicht mehr behoben werden.
Kurz gesagt: Die Antwort auf die Frage: "Warum sollte ich von Perl 5.8.6 auf eine höhere Version aktualisieren?" ist die gleiche Antwort wie auf die Frage "Warum sollte ich von Windows ME auf eine höhere Version aktualisieren?"
Ich hoffe ich hab mich hier jetzt nicht zu stark ausgelassen.