Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re^3: How do I recursively process files through directories

by Aristotle (Chancellor)
on Oct 04, 2003 at 22:59 UTC ( #296601=note: print w/ replies, xml ) Need Help??


in reply to Re: Re: How do I recursively process files through directories
in thread How do I recursively process files through directories

You have to put them where you want them. In your example that would be

my @stuff; sub wanted { push @stuff, $File::Find::name if -f && ! -d && m/\.mp3$/i; } find(\&wanted, $mp3_dir);
or better
my @stuff; find(sub { push @stuff, $File::Find::name if -f && ! -d && m/\.mp3$/i; }, $mp3_dir);
Except it isn't better, since all you're doing is to process them one by one. So do it right in the callback function:
find(\&wanted, $mp3_dir); + sub wanted { return unless -f && ! -d && m/\.mp3$/i; print "$File::Find::name\n" my $mp3 = MP3::Mplib->new($item); my $v1tag = $mp3->get_v1tag; my $v2tag = $mp3->get_v2tag; + while (my ($key, $val) = each %$v1tag) { print "$key\: $val\n"; } while (my ($key, $val) = each %$v2tag) { print "$key\: $val\n"; } } +
Update: That should be push @stuff, $File::Find::name, not push @stuff, $_, otherwise you loose the path.

Makeshifts last the longest.


Comment on Re^3: How do I recursively process files through directories
Select or Download Code
Re: Re^3: How do I recursively process files through directories
by dataking (Acolyte) on Oct 05, 2003 at 00:41 UTC

    Thanks for the post. The first suggestion actually worked well. I want to do a lot more here (as you might be able to imagine) than just print the MP3 ID(v1|v2) tags. So it is *handy* to have the entire file list available as an entity.

    Thanks, again.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (7)
As of 2015-07-03 02:55 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 (47 votes), past polls