Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re^2: Need help understanding code snippet with "grep -f"

by Marshall (Canon)
on Dec 23, 2015 at 07:48 UTC ( #1151003=note: print w/replies, xml ) Need Help??


in reply to Re:Need help understanding code snippet with "grep -f"
in thread Need help understanding code snippet with "grep -f"

my @files = grep {-f} map {glob "$_/*vp.o$id"} qw/ archiv/;
I figure the grep -f and the map are both not necessary.
Shouldn't this work also?
my @files = glob {"archiv/*vp.o$id"};

Replies are listed 'Best First'.
Re^3: Need help understanding code snippet with "grep -f"
by afoken (Canon) on Dec 23, 2015 at 09:20 UTC
    I figure the grep -f and the map are both not necessary. Shouldn't this work also?
    my @files = glob {"archiv/*vp.o$id"};

    No. glob does not check the type of the file. -f does:

    /tmp>touch foo.txt /tmp>mkdir bar.txt /tmp>ls -lF [...] drwxr-xr-x 2 alex users 40 Dec 23 10:16 bar.txt/ -rw-r--r-- 1 alex users 0 Dec 23 10:16 foo.txt [...] /tmp>perl -E 'say for glob "*.txt"' bar.txt foo.txt /tmp>perl -E 'say for grep -f,glob "*.txt"' foo.txt /tmp>

    Alexander

    --
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)
      Yes, this is quite correct!

      We are getting far from the original point.

      I think that instead of creating a bunch of sub-directories, a simple DB file would be just fine. An EXCEL .csv file would be fine.

Re^3: Need help understanding code snippet with "grep -f"
by GrandFather (Saint) on Dec 23, 2015 at 08:47 UTC

    The map is useful if you have a list containing more than one item. As I said in my OP the grep is redundant if you are using glob.

    Premature optimization is the root of all job security
      I think the OP has working code and all is fine.

      I don't see any reason at all to quibble. The Perl map{} especially in conjunction with Perl grep{} in the comma format can be hard to understand.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (4)
As of 2021-04-13 12:44 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?