Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
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?
[marto]: Hey Corion, how are things?
[Corion]: Fine! It's amazing how productive I can be with a 3hour daily workload removed :)
[Corion]: My to-do emails level is at a 12-months-low of 21 , from 36 last week ;)
[marto]: I'm recovering from a bad day yesterday, on most counts :P
[Corion]: Also , I made great progress in actually writing the automation script that will run large parts of the 3hour workload now, largely by discussing what error conditions need to be handled by manual intervention and reducing these :)
[Corion]: marto: Ow! What was so bad about yesterday?

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (9)
As of 2018-05-24 07:24 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Notices?