@files = grep { /PATTERN/ } readdir $dir; # opendir とか略

こういうのじゃダメなの?open my $fh, '<', '^abc\d{8}.+$' とかするとそりゃコケる。