use File::Find; my @dirs; my @search_dirs = qw(. ..); find(\&wanted, @search_dirs); sub wanted { -d && push @dirs, $File::Find::name } # do sm.th. with directories in @dirs