Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re^4: Multiple file input into a perl script

by broomduster (Priest)
on Sep 30, 2008 at 22:11 UTC ( [id://714657]=note: print w/replies, xml ) Need Help??


in reply to Re^3: Multiple file input into a perl script
in thread Multiple file input into a perl script

The magic diamond-operator <> only works if you stuff the filenames into @ARGV.
My reading of I/O Operators has me believing that using the diamond operator for globbing works as the OP seems to expect. Here's what I get with a simple test:
-> ls file1.txt file2.txt file3.txt -> perl -le '@files = <file*>; print @files;' file1.txt file2.txt file3.txt
I may have missed something, but it looks to me that kelder's expectation of how globbing works with <> is right. Is there a platform difference to worry about? (OP is on a Mac, above test runs the same on a Mac and under NetBSD.)

Replies are listed 'Best First'.
Re^5: Multiple file input into a perl script
by Corion (Patriarch) on Oct 01, 2008 at 05:42 UTC
    That part works. The empty diamond, used to read the contents of all files (or STDIN) is what doesn't work without setting up @ARGV. That dual use is why I prefer an explicit glob() over the diamond...
      That dual use is why I prefer an explicit glob() over the diamond..
      And so do I ;-)... In fact, just last week at $DAYJOB, I had an interesting "discussion" with $COWORKER who is relatively new to Perl and insisted that
      • while ( <> )
      • while ( <file*> )
      • while ( <@ARGV> )
      all do the same thing. When $COWORKER was confronted with examples of the differences, the "problem" morphed first into "a bug in Perl", then to "incorrect documentation", then to "should do the same thing" (I guess that's progress :-) ). All of which is a long (and hopefully slightly humorous) explanation of why I should have caught what you were saying the first time.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others about the Monastery: (4)
As of 2024-04-23 07:13 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found