The problem with while (my $line = <DATA>) {} is real, it's just obscure
ARRRRGH! :-)
As has already been pointed out this hasn't been a problem for some time. Perl automatically adds the defined for you, as you can easily see by running:
a% perl -MO=Deparse -e 'while (my $line = <DATA>) {}' while (defined(my $line = <DATA>)) { (); } __DATA__ -e syntax OK
This hasn't been a problem for Perl for quite some time, and I wish people wouldn't keep saying it is ;-)
In reply to Re^6: A refactoring trap
by adrianh
in thread A refactoring trap
by gmax
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |