【发布时间】:2014-06-04 12:57:46
【问题描述】:
我创建了 1 个脚本,其中我将现有记录存储在一个数组中,然后将记录与最新的文件记录进行比较,如果存在则从数组中删除记录。 现在我可以比较和打印我的记录,但是当我最后尝试调试/打印那些剩余的列表时。一旦所有循环都关闭,它就会抛出错误,就像需要全局语法一样。这意味着脚本无法读取数组外数组中存在的剩余列表。
例如: 我有 100 条记录放在一个数组中。现在,当新记录处理时,它将查看数组中的值是否匹配,它将从数组中删除记录。因此,最后匹配的记录将被删除,剩余记录数组将保留在新记录文件中不存在的记录中。
if ( grep { $new_record eq $Current_record } @array ) {
DEBUG( "DEBUG: record found in existing array" );
my @remaining_record = splice(@array, $new_record, 1);
}
现在,当我尝试在脚本末尾调试剩余记录时,脚本正在寻找全局变量并且看起来是空的。
my @remaining_record;
my $size = @remaining_record;
for ($n=0; $n < $size; $n++) {
DEBUG( "DEBUG: Remaining records $remaining_record[$n][0]" );
}
【问题讨论】:
-
全局符号“@remaining_record”需要明确的包名在
标签: perl