Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re^7: Find images regardless of filetype extension.

by Chady (Priest)
on Aug 01, 2005 at 20:09 UTC ( #480019=note: print w/replies, xml ) Need Help??


in reply to Re^6: Find images regardless of filetype extension.
in thread Find images regardless of filetype extension.

Compactness affects readability. And besides, you're counting declarations and braces as lines, if I put it on one line it doesn't mean it's a single statement... if you're looking for compactness, here goes:

I'll assume @files and @dirs are already declared then.
map {$d="$dir/$_";$r= -d $d?\@dirs:\@files;push @$r,$d;} grep {!/^\./} + readdir DIR;

Yes, this uses map in void context, but you want compactness, not efficiency :)


He who asks will be a fool for five minutes, but he who doesn't ask will remain a fool for life.
Chady | http://chady.net/
Are you a Linux user in Lebanon? join the Lebanese GNU/Linux User Group.

Replies are listed 'Best First'.
Re^8: Find images regardless of filetype extension.
by zzspectrez (Hermit) on Aug 02, 2005 at 05:10 UTC

    Ill give you that is compact!

    But I think, that

    • my @files = map { "$dir/$_" } grep { !/^\.{1,2}\z/ && -f "$dir/$_" } @tmp;
    is both compact but very clear and readable. On the otherhand,
    • map {$d="$dir/$_";$r= -d $d?\@dirs:\@files;push @$r,$d;} grep {!/^\./} readdir DIR;
    is compact and clever but not easily readable IMHO.

    On the other hand, I really like your use of the ternary and references. I would not have thought of using it like that. ++ ++ I think that is quite clever. Thanks for the snippet of code.

    Only one complaint, the way you wrote you regex it will skip any dot file. So .my-file would not be picked up.

    zzSPECTREz

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://480019]
help
Chatterbox?
[LanX]: ... obviously too long
[Eily]: I yes, the natural onion in the flamming eye, I know what you mean
[LanX]: Eily your turn to provide a pic :)
[Eily]: occupe toi de tes oignons
LanX could do a zoom out in animated gif ...
[LanX]: heh
[marto]: get with the times, webm :P
[LanX]: didn't know this expression xD
[Eily]: :)
[Eily]: if you want to learn French expressions you can give a look to @bouletcorp on twitter

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (12)
As of 2017-12-14 16:30 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    What programming language do you hate the most?




















    Results (398 votes). Check out past polls.

    Notices?