##
opendir FOO, "$dir" or die "Couldn't open $dir: $!";
@contents = readdir FOO;
closedir FOO;
####
@contents = grep !/^\.\.?$/, readdir FOO;
####
sub recurse_me {
my $dir = shift;
opendir FOO, "$dir" or die "Couldn't open $dir: $!;
while( readdir FOO ) {
if ( -d $_ ) {
push @dirs, $_;
}
else {
# do something interesting
}
}
closedir FOO;
recurse_me( $_ ) for ( sort @dirs );
}