my $dir_name = '/base/path/to/a/'; my $dh = DirHandle->new($dir_name) or die("booooo $!\n"); my $file_name; while (defined($file_name = $dh->read())) { my $full_file_name = "$dir_name/$file_name"; ... }