use DirHandle (); $dh = DirHandle->new('.') or die("oh poo!\n"); while (defined($file = $dh->read()) { # Next line not needed here, but usually is. #next if ($file =~ /^\.\.?$/); next unless ($file =~ /^...4000.\./); print("\n$file"); } $dh->close();