2009-08-11 49 views

回答

1

假設你的意思是

$start_date = $ARGV[0]; 
$end_date = $ARGV[1]; 

即語法有效的Perl代碼,那麼你可能會做這樣的事情

die "Please enter dates in YYYY-MM-DD format\n" 
    unless $start_date =~ /^\d{4}-\d\d-\d\d$/; 
die "Please enter dates in YYYY-MM-DD format\n" 
    unless $end_date =~ /^\d{4}-\d\d-\d\d$/; 
2

首先,

my ($start_date, $end_date) = @ARGV; 

工作過。

if ($var =~ /^(?<year>[0-9]{4})-(?<month>[0-9]{2})-(?<day>[0-9]{2})$/) { 
    # see %+ in perldoc perlvar 

現在,您需要確保這些值是有效的年,月和日。

+0

您應該注意,命名捕獲需要Perl 5.10和(可能)爲舊版本提供回退。 – 2009-08-11 15:55:48