perl -we 'use Date::Manip; sub valid_yyyymmdd { $_[0] =~ /^(\d{8})$/ and ParseDate($1) and 1; } valid_yyyymmdd($_) and print "$_\n" for qw"20060630 20060631 20060730 20060731 20060732 2006.07.30 06.07.31";' #### 20060630 20060730 20060731