gpt4 book ai didi

perl - 在 Perl 中打印哈希值

转载 作者:行者123 更新时间:2023-12-05 09:18:46 24 4
gpt4 key购买 nike

当我打印一个变量时,我得到一个 HASH(0xd1007d0) 值。我需要打印所有键和值的值。但是,我不能,因为控件没有进入循环。

foreach my $var(keys %{$HashVariable}){
print"In the loop \n";
print"$var and $HashVariable{$var}\n";

}

但是控件甚至没有进入循环。我是 perl 的新手。

最佳答案

我不能完全回答,因为这完全取决于 $HashVariable 中的内容。

判断里面有什么的最简单方法是:

use Data::Dumper;
print Dumper $HashVariable;

假设这是一个散列引用 - 如果print $HashVariable 给出HASH(0xdeadbeef) 作为输出,它就会是。

所以这应该有效:

#!/usr/bin/env perl

use strict;
use warnings;

my $HashVariable = { somekey => 'somevalue' };

foreach my $key ( keys %$HashVariable ) {
print $key, " => ", $HashVariable->{$key},"\n";
}

您犯的唯一错误是 $HashVariable{$key} 不起作用 - 您需要取消引用,因为它代表 %HashVariable 而不是 $HashVariable,这是两个完全不同的东西。

否则 - 如果它没有进入循环 - 这可能意味着 keys %$HashVariable 没有返回任何东西。这就是 Dumper 测试有用的原因 - 是否有可能您没有正确填充它,或者您正在写入 %HashVariable 代替。

例如:

my %HashVariable;
$HashVariable{'test'} = "foo";

关于perl - 在 Perl 中打印哈希值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43754058/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com