use DirHandle; my $dh = new DirHandle($dir) or die "Can't open $dir: $!"; my @files = (); push @files, $_ while $_ = $dh->read();