my $dom = qr{0[1-9]|[12][0-9]|3[01]}; my $month = qr{0[1-9]|1[012]}; my $fourYear = qr{2003}; my $twoYear = qr{03}; my $MMDDYYYY = qr{$month$dom$fourYear}; my $DDMMYYYY = qr{$dom$month$fourYear}; my $YYYYMMDD = qr{$fourYear$month$dom}; my $DDMMYY = qr{$dom$month$twoYear}; my $MMDDYY = qr{$month$dom$twoYear}; my $MMDD = qr{($month$dom)}; my $DDMM = qr{$dom$month}; my $Date = qr{($MMDDYYYY|$DDMMYYYY|$YYYYMMDD|$DDMMYY|$MMDDYY|$DDMM|$MMDD)}; opendir(DIR,".") or die "Cannot open directory for reading: $1\n"; my @files = grep { /^[^\.|\.\.]/ } readdir(DIR); for (@files) { unless ( $_ =~ /($Date)/g) { no_match($_); next; } my $match = "${^N}:$`--$&--$'"; print "In file -->$_<--\n"; print "$1\n"; }