in reply to
Directory tree script that reads ID3 tags and archive file contents
You should be able to put something together with File::Find (or one of its derivatives, if you prefer that), MP3::Tag or one of its competitors, and Archive::Zip.
The core of the script could be like this:
use File::Find;
@ARGV = '.' unless @ARGV;
find sub { # all code comes here
return unless -f;
# $_ is basename, use this because we have chdir'ed to its directo
+ry
if(/\.txt$/) {
say $File::Find::name;
}
elsif(/\.zip$/) {
# process ZIP file
}
elsif(/\.mp3$/) {
# process mp3 file
}
}, @ARGV;