in reply to Why should I use perl 5.10?
The things I was mostly looking forward to were state, the builtin switch statement, the // operator and say.
However, today I very happily discovered that Perl 5.10 eliminates my previously number one complaint about error messages.
A colleague asked me today whether I knew of a way to find which variable was undefined in a line containing a string composed of many variables. On the off-chance that this was better handled in 5.10 (which I hadn't yet read about), I tried a sample program in Perl 5.10, and was pleasantly surprised to find that:
use strict; use warnings; my $a = 1; my $b = 1; my $c = 1; my $d; my $e = 1; my $f = 1; my $g = 1; my $h = 1; print "$a$b$c$d$e$f$g$h\n";
Run this with Perl 5.8.0 and you get:
Use of uninitialized value in concatenation (.) or string at x.pl line + 14. 1111111
Whereas with Perl 5.10.0:
Use of uninitialized value $d in concatenation (.) or string at x.pl l +ine 14. 1111111
It's a minor textual difference, but a huge difference diagnostically!
I'm very happy to upgrade to Perl 5.10!
|
|---|