$ perl -l use strict; use warnings; my $i = undef; $i = $_ for (1 .. 3); ($i) ? print $i : warn "pre-defined - missing"; my $j = $_ for (1 ..3); ($j) ? print $j : warn "direct - missing"; __END__ 3 direct - missing at - line 9. #### $ perl -l $j = $_ for (1 ..3); ($j) ? print $j : warn "no warnings - missing"; __END__ 3 #### This is perl, v5.8.5 built for i386-linux-thread-multi