use Date::Calc qw/ check_date Localtime /; my @date; if( 0 == @ARGV ) { warn( 'Using current date.\n' ); @data= (Localtime)[0..2]; } els... ... croak( 'Invalid date supplied from command line' ); ...