perl - 在 foreach 循环中打印出与 Perl 中的值关联的键

标签 perl

如果值满足特定条件,我将尝试打印出散列的键。但是,如果哈希键满足值条件,我不确定如何访问它。这是我的代码:

foreach my $x (values %hash){
    if ($x > $ARGV[1]){
        $counter = $counter + 1
        print "keys %hash\n"
    }
}
print "$counter\n" 

最佳答案

当您遍历这些值时,您无权访问 key 。

for my $key (keys %hash) {
    if ($hash{$key} > $ARGV[1]) {
        $counter = $counter + 1;
        print "$key\n";
    }
}
print "$counter\n";

keys %hash; # reset iterator
while (my ($key, $value) = each %hash) {
    if ($value > $ARGV[1]) {
        $counter = $counter + 1;
        print "$key\n";
    }
}
print "$counter\n";

关于perl - 在 foreach 循环中打印出与 Perl 中的值关联的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32426560/

相关文章:

linux - perl 中的 '\b' 字符是如何工作的?

python - Perl 5 面向对象编程

regex - 提取逗号和引号之间的文本,忽略 perl 中的转义字符

database - 如何重读perl数据库查询结果

perl - 如何在 Perl 中执行区分大小写的重命名或移动操作?

regex - Perl 使用正则表达式捕获带有日志的组

perl - 为什么从@_ 转移的值不是别名?

regex - Perl 模式匹配,我们打印所有匹配部分,但仅打印匹配部分(而不是其余部分)

perl - 如何获取在简单程序中计算的变量以在 perl 脚本中使用?

perl - 测试::更多:由于转义序列而导致的糟糕计划