Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re^4: A refactoring trap

by lidden (Curate)
on Aug 17, 2005 at 09:53 UTC ( #484350=note: print w/ replies, xml ) Need Help??


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

No it still works with chomp:

while(chomp (my $line = <DATA>)){
At least with newer perl versions. Tried with perl5.8.6.


Comment on Re^4: A refactoring trap
Download Code
Re^5: A refactoring trap
by !1 (Hermit) on Aug 17, 2005 at 18:05 UTC
    With this method you'll never be able to loop through the last line.
Re^5: A refactoring trap
by revdiablo (Prior) on Aug 17, 2005 at 20:11 UTC
    No it still works with chomp

    To understand why this works, take a look at the return value for chomp. Hint: it's not the string with newlines missing.

    The problem with while (my $line = <DATA>) {} is real, it's just obscure. As hinted, it only happens when you get a line with a false value and no newline. Sometimes this happens at the end of a file. Sometimes it happens for other reasons. It usually doesn't cause any actual problems, but certainly is something to look out for.

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

        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.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://484350]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (4)
As of 2015-07-03 23:14 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (57 votes), past polls