my $dhandle = new DirHandle "/directory/to/foo"; #or my $dhandle = new DirHandle "."; for #current directory, if you like if (defined($dhandle)){ while (defined($_ = $dhandle->read)){ push @filename_array,$_; } } undef($dhandle);