在Perl中,可以使用Time::Piece
模塊來判斷日期是否合法。你可以使用以下代碼來判斷一個日期是否合法:
use Time::Piece;
sub is_valid_date {
my ($date_str) = @_;
my $format = "%Y-%m-%d"; # 日期的格式
my $date = Time::Piece->strptime($date_str, $format);
return defined $date;
}
# 示例用法
my $date1 = "2022-01-01";
my $date2 = "2022-02-30";
if (is_valid_date($date1)) {
print "$date1 是一個合法日期\n";
} else {
print "$date1 不是一個合法日期\n";
}
if (is_valid_date($date2)) {
print "$date2 是一個合法日期\n";
} else {
print "$date2 不是一個合法日期\n";
}
在上面的代碼中,我們定義了一個is_valid_date
子函數來判斷日期是否合法。該函數接受一個日期字符串作為參數,并嘗試將其解析為日期對象。如果解析成功,則返回一個定義了日期對象,否則返回undef
。
在示例用法中,我們分別檢查了$date1
和$date2
是否為合法日期,并打印相應的結果。