我正在尝试在Perl6中分配哈希变量,就像在Perl中一样.当我正在阅读文件时,我会接受某些元素并分配给哈希:
%key<$barcode><$position> = $sample-id
Run Code Online (Sandbox Code Playgroud)
这将是Perl5中的情况
$key{$barcode}{$position} = $sample_id
Run Code Online (Sandbox Code Playgroud)
我可以在我这样做之后打印哈希分配,所以我认为分配工作正常.
当我用这个哈希打印时
say %key.perl;
Run Code Online (Sandbox Code Playgroud)
这只给出了
{"\$barcode" => ${"\$position" => "ZZ12345"}}
Run Code Online (Sandbox Code Playgroud)
如何打印出像Perl5 Data::Dumper或DDP https://metacpan.org/pod/Data::Printer这样的多维哈希,因为say %key.perl它似乎不适用于多维哈希?
<>与{''}perl5中的相同,因此只应用于字符串键.如果要使用变量名称,请执行以下操作:
%key{$barcode}{$position} = $sample_id 这应该可以解决问题.
您还可以使用双尖括号选项进行字符串插值.
%key<<$barcode>><<$position>> = $sample_id