【发布时间】:2018-10-19 21:06:55
【问题描述】:
我有一个对象$burStageStats,我用数据填充。
my $additional_event_details = {
'status' => '\N',
'duration' => '\N',
'keyword' => $keyword
};
my $statsHash = {
'time' => '\N',
'event_type' => 'INFO',
'backup_stage' => '\N',
'additional_event_details' => $additional_event_details
};
push (@burStageStats, $statsHash);
稍后我循环并将值打印到 BCP 文件
foreach my $backup (@{$burStageStats}) {
foreach my $backupStage ($backup) {
print BCP "$siteId\t" . $backupStage->{'time'} . "\t" .
$backupStage->{'event_type'} . "\t" .
$stageIdMap->{$backupStage->{'additional_event_details'}->{'backup_stage'}} . "\n";
}
}
我收到以下错误
在 /data/ddp/current/analysis/TOR/bur/parseburLog 第 180 行、第 11287 行的连接 (.) 或字符串中使用未初始化的值。
我想这指向我在该行中引用的方式
$stageIdMap->{$backupStage->{'additional_event_details'}->{'backup_stage'}} . "\t" .
但我不确定如何正确编写该行。该代码有效,但我希望明显减少错误报告。
【问题讨论】:
-
你使用的是严格和警告吗?
-
是的,这两个都用
-
就像您之前的问题一样,您未能证明您的问题。如果你连问题都描述不出来,你怎么能指望解决它?请参阅minimal reproducible example 了解如何执行此操作。
-
为什么在 foreach 循环中使用
@{$burStageStats}而不是直接使用@burStageStats?
标签: perl