【发布时间】:2018-10-16 19:29:19
【问题描述】:
我有一个 foreach 循环,里面有一个字符串:
foreach my $val(sort keys %hash) {
$string = $hash{$val}{'value'};
print "$string\n";
}
打印我的$string 的输出是:
23422
65464
32453
76654
21341
65437
23422
67658
我希望能够找到两个重复值的位置,在本例中为“23422”,并将它们从字符串中完全删除。这样当我打印字符串时,它将打印:
65464
32453
76654
21341
65437
67658
但由于 foreach 循环内部的逻辑,我不知道该怎么做。我已经尝试测试 if 语句来检查是否等于和不等于,但这无济于事,因为它没有检测到在 foreach 循环中执行它的值。
【问题讨论】:
-
$hash中通常有多少数据? (顺便说一句,应该是keys %$hash或keys %hash) -
@zdim 大约 8 个键,所以 8 行。感谢您发现它,我的代码中有它,但手动将它输入到 Stack Overflow。
-
谢谢。要求检查您的数据是否庞大,是什么使其具有挑战性