ハッシュのハッシュのキーを取得しようとしていますが、常にエラーが発生します:
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
ハッシュのハッシュのキーを取得するにはどうすればよいですか?
ハッシュのハッシュのキーを取得しようとしていますが、常にエラーが発生します:
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
ハッシュのハッシュのキーを取得するにはどうすればよいですか?
少しトリッキーです。正しい構文は次のとおりです。
keys %{$oop_hash{'wfh'}}
また、あなたが書いたように、あなたのprint ステートメントはあなたが望むことを完全には行いません。Perl がその"\n"
行を解析する方法のため、 は文字列に追加されません。次のいずれかを言う必要があります。
print +(keys %{$oop_hash{'wfh'}}),"\n";
print ((keys %{$oop_hash{'wfh'}}),"\n");
ここにあります:
#!/usr/bin/perl
use strict;
use warnings;
my %oop_hash = ();
$oop_hash{'wfh'}{'ppb'} = "451103";
print join ", ", keys $oop_hash{'wfh'} , "\n"; # "ppb, "