use File::Find; my @dirs; sub wanted { push @dirs, $File::Find::name if -d $_; } find(\&wanted, 'foo');