0

ハッシュのハッシュのキーを取得しようとしていますが、常にエラーが発生します:

use strict;

my %oop_hash = ();
$oop_hash{'wfh'}{'ppb'} = "451103";
print (keys $oop_hash{'wfh'})."\n"; #1st try
print (keys %oop_hash{'wfh'})."\n"; #2nd try

ハッシュのハッシュのキーを取得するにはどうすればよいですか?

4

2 に答える 2

3

少しトリッキーです。正しい構文は次のとおりです。

keys %{$oop_hash{'wfh'}}

また、あなたが書いたように、あなたのprint ステートメントはあなたが望むことを完全には行いません。Perl がその"\n"行を解析する方法のため、 は文字列に追加されません。次のいずれかを言う必要があります。

print +(keys %{$oop_hash{'wfh'}}),"\n"; 
print ((keys %{$oop_hash{'wfh'}}),"\n");
于 2013-03-19T14:57:50.610 に答える
0

ここにあります:

#!/usr/bin/perl
use strict;
use warnings;

my %oop_hash = ();
$oop_hash{'wfh'}{'ppb'} = "451103";
print join ", ", keys $oop_hash{'wfh'} , "\n"; # "ppb, "
于 2013-03-19T14:57:44.353 に答える