Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Re^2: <> oddity ?

by hdb (Prior)
on Mar 27, 2013 at 10:31 UTC ( #1025669=note: print w/ replies, xml ) Need Help??


in reply to Re: <> oddity ?
in thread <> oddity ?

If you call the code below stdin.pl,

while(<>) { print; }

then all three commands below result in the same output:

$ perl stdin.pl stdin.pl $ perl stdin.pl < stdin.pl $ cat stdin.pl | perl stdin.pl


Comment on Re^2: <> oddity ?
Select or Download Code
Re^3: <> oddity ?
by LanX (Canon) on Mar 27, 2013 at 10:48 UTC
    you're right

    from perlop

           The null filehandle <> is special: it can be used to emulate the
           behavior of sed and awk.  Input from <> comes either from standard
           input, or from each file listed on the command line.  Here’s how it
           works: the first time <> is evaluated, the @ARGV array is checked, and
           if it is empty, $ARGV[0] is set to "-", which when opened gives you
           standard input.  The @ARGV array is then processed as a list of
           filenames.  The loop

    while (<>) { ... # code for each line }

    is equivalent to the following Perl-like pseudo code:

    unshift(@ARGV, '-') unless @ARGV; while ($ARGV = shift) { open(ARGV, $ARGV); while (<ARGV>) { ... # code for each line } }

    Cheers Rolf

    ( addicted to the Perl Programming Language)

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (8)
As of 2015-07-07 07:07 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 (87 votes), past polls