use File::Find; my @directories = @ARGV ? @ARGV : ('.'); find(\&wanted, @directories); sub wanted { return unless /\.pdf$/i; print "working with $File::Find::name\n"; }