Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re(2): while(<>) { ... } considered harmful

by FoxtrotUniform (Prior)
on Sep 08, 2002 at 01:24 UTC ( #195951=note: print w/ replies, xml ) Need Help??


in reply to Re: while(<>) { ... } considered harmful
in thread while(<>) { ... } considered harmful

      map { require Net::DNS } 1;
    Is that a map in void context? Nasty and evil.

I believe that's a minimal demonstration of a bug, rather than "real" code.

On the subject of while(<>) vs. while(my $line = <>), I tend to prefer the former:

  • If I don't have to do much processing for each line, it's usually much nicer to work on $_, as Juerd points out.
  • If I do have a lot of work to do, it's usually in a subroutine call, where this sort of thing isn't an issue (since the scope has changed).

I haven't really thought about it, but if a loop's so complex that you have to assign to an explicit iterator variable just to figure out what's going on (as opposed to a loop where defaulting to $_ would be inappropriate for other reasons), it's probably an indication that the loop needs simplifying.

--
F o x t r o t U n i f o r m
Found a typo in this node? /msg me
The hell with paco, vote for Erudil!


Comment on Re(2): while(<>) { ... } considered harmful
Select or Download Code
Re: Re(2): while(<>) { ... } considered harmful
by IlyaM (Parson) on Sep 08, 2002 at 19:28 UTC
    I believe that's a minimal demonstration of a bug, rather than "real" code.

    You are right. Real code looks like:

    my @other_connectors = map $ad_obj->connector(field => $_), qw(header description region country state);
    No require on the surface. It was deeply hidden in one of method calls. I though it was just a Perl bug when I got that error for first time.

    --
    Ilya Martynov (http://martynov.org/)

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (9)
As of 2014-07-24 08:45 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (158 votes), past polls