a skeleton solution for your problem might be: #!perl use warnings; use strict;
use File::Find; my $startfolder = $ARGV[0] or die "no startfolder\n"; my @files; find( \&macfind, $startfolder ); print "found: $_\n" for ( @files ); sub macfind { my $file = $File::Find::name; push( @files, $file ) if( ! -d $file && $file !~ /^Icon/ ); } __END__