#!/usr/bin/perl -w use strict; my $lineN = 1; while(){ for my $dateFormat ( qw ( \D\(\d\d\/\d\d\/\d\d\)\D \D\(\d\d\/\d\d\/\d\d\d\d\)\D \D\(\d\d\d\d/\d\d\/\d\d\)\D \D\(\d\d\d\d-\d\d-\d\d\)\D \D\(\d\d-\d\d-\d\d\)\D \D\(\d\d-\d\d-\d\d\d\d\)\D ^\(\d\d\/\d\d\/\d\d\)\D ^\(\d\d\/\d\d\/\d\d\d\d\)\D ^\(\d\d\d\d/\d\d\/\d\d\)\D ^\(\d\d\d\d-\d\d-\d\d\)\D ^\(\d\d-\d\d-\d\d\)\D ^\(\d\d-\d\d-\d\d\d\d\)\D \D\(\d\d\/\d\d\/\d\d\)$ \D\(\d\d\/\d\d\/\d\d\d\d\)$ \D\(\d\d\d\d/\d\d\/\d\d\)$ \D\(\d\d\d\d-\d\d-\d\d\)$ \D\(\d\d-\d\d-\d\d\)$ \D\(\d\d-\d\d-\d\d\d\d\)$ ) ) { my @dates = ( /$dateFormat/g); for ( my $i=0; $i<=$#dates; $i++ ) { my $date = $dates[$i]; print "Found $date on line $lineN\n"; } } $lineN++; } __DATA__ On 11/11/02 I sent a email and it didn't get there until 11/15/2002 Sometime there is no date. But then again there one date like 12/31/99 on the line and this 123/12/2002 is not a date. maybe