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
.....助けてください