【发布时间】:2011-08-29 06:12:16
【问题描述】:
我基本上是一个网络人,所以不擅长编写脚本。
在编写一些脚本时,我遇到了以下要求。
我有一个哈希数组,其中一些值为“1”或“2”以及我的要求
如果所有值都不等于“1”(可能是“2”或“3”),那么它将打印一些语句然后退出该循环。
如果任何一个值等于“1”,那么它将打印一些语句。
例如:
my %hash_array1=(A=>2,B=>2,C=>2);
my @array2=values (%hash_array1);
foreach my $line (@array2) {
if ($line!=1) {
print BOLD GREEN "\rNo Evolution ",RESET;
last;
}
else {
print BOLD RED "Evolution \n",RESET;
}
}
哪个打印
No Evolution
上面的代码对于提到的 hash_array 可以正常工作,因为所有的值都不是“1”,但是对于下面的 hash 就不行了
my %hash_array1=(A=>1,B=>2,C=>2);
打印位置
Evolution
No Evolution
这与我的预期不符。我想在这里打印一次“进化”和“无进化”不应该再打印了。 (不过循环应该继续迭代)
如果需要更清晰的说明,请告诉我。
问候
马赫什
【问题讨论】:
-
因为我是网络人,所以我必须擅长编写脚本;)