Q:

Why doesn't Perl 5 tell you the name of the variable when it complains about uninitialized values? 

Why doesn't Perl 5 give me the name of the variable it is complaining about? 
perl5.8.9 -we 'my $u; print "$u\n"'
Use of uninitialized value in concatenation (.)  or string at -e line 1. 

A:

It has since version 5.10 which was released in 2007, it is time to upgrade (5.12.2 is coming out shortly). 
perl5.10.0 -we 'my $u; print "$u\n"'
Use of uninitialized value $u in concatenation (.)  or string at -e line 1.