gpt4 book ai didi

perl - Date::Manip 对象的神秘 perl 未定义值

转载 作者:行者123 更新时间:2023-12-05 01:16:49 24 4
gpt4 key购买 nike

我有这个子Formatting Date::Manip's Delta to days在我使用答案中的帮助后效果很好。今天我再次运行我的代码,我得到 Can't call method "value"on an undefined value at @val = $delta->value();

sub calc_usage {

my $date_from;
my $date_to;
my $delta = new Date::Manip::Delta;
my $period = 0;
my $i;
my @val;

for $i (0 .. $#DATE_HOLDER_USAGE) {
$date_from = new Date::Manip::Date;
$date_to = new Date::Manip::Date;

$date_from->parse($DATE_HOLDER_USAGE[$i][0]);
$date_to->parse($DATE_HOLDER_USAGE[$i][1]);

$delta = $date_from->calc($date_to, "business");
@val = $delta->value();

my @year_from = $date_from->value();
my @year_to = $date_to->value();

if ($date_to->is_business_day()) {
$period += $val[3]+1;
} else {
$period += $val[3]
}
}

$YEARLY_ALLOC_HTML = $period;
}

我不知道为什么会这样。

我在 @DATE_HOLDER_USAGE 被填充后调用该函数,并且我有导入

use Date::Manip::Date;
use Date::Manip::Delta;
use Date::Manip;

(可能不是所有这些都是必要的?)

最佳答案

小学生错误,我有一个新的条件限制了@DATE_HOLDER_USAGE的填充中断代码,有效地将非日期元素提供给日期解析器,不从中获取任何值。

回复M42的评论

my @dates;
$dates[0] = $DATE_FROM;
$dates[1] = $DATE_TO;
$DATE_HOLDER_USAGE[$inc] = [@dates];
$inc++;

.

2012-12-28  2013-01-02
2012-06-18 2012-06-29
2012-02-16 2012-02-21

但在某些情况下,持有人的某些地方根本不会有 $dates[0] 和 $dates[1],我想只是 undefs。

关于perl - Date::Manip 对象的神秘 perl 未定义值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9228786/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com