2017-09-16 20 views
0

配列のハッシュを作成しようとしています。アレイ全体にアクセス/印刷するにはどうすればよいですか?ここでは、コードは次のとおりです。Perlでの配列のハッシュ

my %data;  
my @row = ("My", "Name", "is", "Anthony", "Gonzalves"); 
print "@row"; 
$data{'First'} = \@row; 
print "@data{'First'}"; 

上記のコードの出力は次のようになります。 私の名前はアンソニーGonzalvesARRAY(0x7fa1a5831dc8)です。

+0

'$データ{'最初'}'は配列へ。 – ikegami

+3

チュートリアル[perlreftut](https://perldoc.perl.org/perlreftut.html)とcookbook [perldsc](https://)を使って作業してください。 perldoc.perl.org/perldsc.html) – zdim

答えて

5

コードで$data {First}の参照の配列です。要素にアクセスするには(すべてリストとして)、@{}で回避します。だから、:

foreach my $element (@{$data {First}}) { 
    print $element; 
} 

あるいは、短く、かつ独自の行に各要素を印刷:

use 5.010; 
say for @{$data {First}}; 
+0

ようこそスタックオーバーフロー!ここに別のシニアコミュニティの人がいるのは良いことです:) – simbabque

0

あなたは、配列の参照にアクセスするために@{}を使用する必要があります。

%HoA=(
    flintstones =>["fred","barney"], 
); 

$HoA{teletubbies}=["tinky winky","dipsy","laa-laa","po"]; 

for $family (keys %HoA){ 
    print "$family: @{$HoA{$family}}\n"; 
} 

出力は:

simpsons: homer Marge bart 
teletubbies: tinky winky dipsy laa-laa po 
関連する問題