my @dircontents = readdir(DIRHANDLE); my @dirs = grep { -d $_ && $_ !~ /^\.\.?$/ } @dircontents; my @files = grep { -f $_ } @dircontents; print "$_\n" foreach (@dirs); print "$_\n" foreach (@files);