Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re^4: why can't I just cat the file???

by halley (Prior)
on Feb 08, 2008 at 18:04 UTC ( #667030=note: print w/replies, xml ) Need Help??


in reply to Re^3: why can't I just cat the file???
in thread why can't I just cat the file???

I agree it's one of those cases where Perl's magic is hard to document, since it's only found when you combine TWO features (looping and inputting), not just one (inputting or looping).

There's a tiny mention of it in perlvar, but the real money is in perlop under the "I/O Operators."

My favorite is to simply ask Perl what is going on under the covers with the B::Deparse module. The deparse module will then show you the loop that Perl wrote for you!

$ perl -MO=Deparse -e"while(<>){'???'}" ------------------------------------ LINE: while (defined($_ = <ARGV>)) { '???'; }
For kicks, you can deparse the script which Perl writes for you, when you use command options like -p or -n.
$ perl -MO=Deparse -p -e"???" ------------------------------------ LINE: while (defined($_ = <ARGV>)) { '???'; } continue { print $_; }

--
[ e d @ h a l l e y . c c ]

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://667030]
help
Chatterbox?
[Eily]: Discipulus try looking at $@
[Eily]: or count the parentheses :)
[Discipulus]: stupid me! I had to stay at home and do not code with the flu..
[holli]: bacause it's a syntax error
[Discipulus]: yes sorry forget and forgive me
[Eily]: for what it's worth I didn't go for the brightest solution either
[Eily]: I tried print eval '2+1/3*(2+2/5))' or print $@
[Eily]: and therefore concluded that the eval did succeed because there was no printed error :P
[Eily]: stupid operator precedence :D

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (5)
As of 2017-10-24 10:19 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    My fridge is mostly full of:

















    Results (287 votes). Check out past polls.

    Notices?