The reason why you don't get the uninitialized warning in the 2nd and 3rd examples below is that your print is within the for loop. Since both @files and keys %files contain nothing, the innards of the for loop NEVER get executed. Therefore, the print is not attempted at all for examples 2 and 3.
-ZO "JupiterHost.Net" <[EMAIL PROTECTED]> wrote in message ... > > $ perl -mstrict -we 'my $files;print $files;' > Use of uninitialized value in print at -e line 1. > $ perl -mstrict -we 'my @files;print $_ for @files;' > $ perl -mstrict -we 'my %files;print $_ for keys %files' > $ -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>