如何在 perl mojo 中获取散列键和散列值

How to get the hash keys and values of a hash in perl mojo

我试图找出如何 select 显式散列的键和值。

my $hash = query('select id, name, required from table')->hashes

我转储时的输出是:

var1 = bless ([
              {
               'name' => value,
               'id' => value,
               'required' => value
           }.....
])

我想要的是得到如下输出:

var1 = bless ([
              {
               'required' => value
              }...
])

之后我想比较索引是否==另一个数组的索引。

您从 bless 中删除了 class 名称,但我猜它是 Mojo::Collection。使用它的 map 方法遍历元素:

my $required = $hash->map(sub { required => $_->{required} });
# Untested.

此外,将名称 $hash 用于散列集合的内容令人困惑。

我不明白你关于索引的最后一句话。如果要提取第$index个元素,可以使用

my $hash = $required->to_array->[$index];

或者直接获取值

my $value = $required->to_array->[$index]{required};

一旦您获得哈希引用,无论通过何种方式,您都可以像这样访问密钥:

$hash->{required};  # etc.

有关详细信息,请参阅 perlref。另请阅读 perldsc 和 perlreftut。