我在谷歌搜索,但我没有找到任何有用的东西。
尽管有很多 Perl 教程,但我没有找到任何教程会提到每个键都有不同值的哈希?在 Perl 中这样的事情可能吗?
例如,可以有一个像它有 2 个键 ( a
, b
) 的散列,其中:
$myhash{"a"}=1;
$myhash{"b"}=[ 'hamnet', 'shakespeare', 'robyn', ];
以上可能吗?
我试过这个:
#!/usr/bin/perl
use strict;
my %x;
$x{"a"}="b";
$x{"b"}=['c','d'];
foreach (keys %x)
{
print $_."\n";
print "$x{$_}";
}
但它正在输出:
a
bb
ARRAY(0x1ece50)
我对如何访问此哈希的元素感到困惑。
我想告诉你这一切,尽管我对 Perl 有一点了解,但我是一个关于哈希的完全新手。
好的,我发现了一件事——要访问散列中的数组,我需要做:
@{$x{"b"}}
但是正如我已经告诉过你的,散列的值可以是数组也可以是标量值,所以要访问上述散列,我需要先识别值的类型,然后再访问它!我怎样才能做到这一点?也就是说,如何识别键的值是标量、数组还是散列?