in reply to Re^5: A refactoring trap
in thread A refactoring trap

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 ;-)

Replies are listed 'Best First'.
Re^7: A refactoring trap
by revdiablo (Prior) on Aug 18, 2005 at 15:57 UTC
    this hasn't been a problem for some time. Perl automatically adds the defined for you

    Aye, I wrongly thought this only happened in the case of while (<FH>) {}. Sorry about the confusion.