我有一个名为 Util 的 .pm 文件。和一个返回下一个日期的子程序。
sub getNextDate {
$inputDate = @_[1];
if ($inputDate != "") {
($year,$mon,$day) = split("-",$inputDate);
$mon = $mon - 1;
$dtToday = timelocal(0,0,0,$day,$mon,$year);
} else {
$dtToday = time;
}
$nextDate = $dtToday + 86400;
$nextMonth = ( localtime( $nextDate)->mon ) + 1;
$nextYear = ( localtime( $nextDate)->year ) + 1900;
$nextDay = localtime( $nextDate)->mday;
if($nextMonth <= 9) {
$nextMonth = '0'.$nextMonth;
}
if($nextDay <= 9) { $nextDay = '0'.$nextDay ; }
return $nextYear . "-" . $nextMonth . "-" . $nextDay;
}
我有一个 .ksh 文件。我想将日期作为参数从 .ksh 文件传递给 .pm 中的子例程。
我在 .ksh 中的代码是
startDate=2013-02-25 perl -MUtil -e 'print Util::getNextDate("$startDate");' > $result
echo $result
它不工作..我根据当前日期而不是我通过的日期获得输出..
如果我直接保存日期而不是变量,我会得到正确的输出。perl -MUtil -e 'print Util::getNextDate("2013-02-25");'
但我想用$startDate
而不是2013-02-25
.....请帮助