#!/usr/bin/perl -w use strict; my $date = "17/08/2003 17:19"; $date =~ s/\s+/ /go; unless ($date eq 'NOW()') { $date = 'NOW()' if (substr($date,0,2) > 31); } unless ($date eq 'NOW()') { $date = 'NOW()' if (substr($date,3,2) > 12); } unless ($date eq 'NOW()') { $date = 'NOW()' if (substr($date,6,4) < 2003); } unless ($date eq 'NOW()') { if ($date =~ m/^(\d{2})\D(\d{2})\D(\d{4})\s+(\d{2})\D(\d{2})$/) { $date =~ s/^(\d{2})\D(\d{2})\D(\d{4})\s+(\d{2})\D(\d{2})$/$3$2$1$4$5/o; $date = $date.'00'; } else { $date = 'NOW()'; } } print $date."\n";