Im将开始和结束时间分配给下的第一个和最后一个条目
my $from_time = $self->{'r_instrDataEvent'}->{'ulsaStats'}->[0]->{'epochtime'};
print "$from_time";
my $to_time = $#{$self->{'r_instrDataEvent'}->{'ulsaStats'}}->{'epochtime'};
print "FROM is $from_time to is $to_time";
但这会产生以下错误(指前2行(
Use of uninitialized value $from_time in string at /data/ddp/current/analysis/TOR/elasticsearch/handlers/UlsaSpectrumAnalyser.pm line 103.
Can't use string ("0") as a HASH ref while "strict refs" in use at /data/ddp/current/analysis/TOR/elasticsearch/handlers/UlsaSpectrumAnalyser.pm line 104.
错误消息表示其中一个表达式的值为"0":
$self
$self->{'r_instrDataEvent'}
$self->{'r_instrDataEvent'}{'ulsaStats'}[0]
很明显,您不希望此表达式的值为"0",因此您需要在上游进行一些调试。
您熟悉perl调试器(perl -d ...
(吗?调试器将允许您将代码运行到上面有问题的行,然后检查这些表达式,以确定哪里没有达到您的期望。