use Date::Calc qw/ check_date Localtime /; my $date = shift @ARGV; my @date = split '-', $date; unless (check_date(@date)) { carp( 'Invalid date supplied from command line - Overriding with current date' ); @date = (Localtime)[0..2]; $date = join '-', @date; } #### Usage: Date::Calc::check_date(year,month,day) at -e line 17 #### use Date::Calc qw/ check_date Localtime /; my $date = shift @ARGV; my @date = split '-', ( $date || '2002-02-31' ); # Naturally, this date is invalid unless (check_date(@date)) { carp( 'Invalid date supplied from command line - Overriding with current date' ) if $date; @date = (Localtime)[0..2]; $date = join '-', @date; }