検索して検索しましたが、機能することがわかったコードを取得できません。これが古いことを繰り返している場合は申し訳ありませんが、私はこれらの10行を機能させるために、2日間を費やしました。私は、髪の毛が残っていない状態で終わりを迎えています:-(
私はPerl5.8.8を実行しています。
更新している単一のハッシュ変数の複数のコピーが含まれるように、Perlでハッシュの配列を設定したいと思います。私のコードはここにあります:
use strict;
use warnings;
my @array;
my %tempHash = (state => "apple", symbol => "54", memberId => "12345");
push(@array, \%tempHash);
%tempHash = (state => "tiger", symbol => "22", memberId => "12345");
push(@array, \%tempHash);
%tempHash = (state => "table", symbol => "37", memberId => "12345");
push(@array, \%tempHash);
printf("%p %p %p\n", $array[0], $array[1], $array[2]);
foreach my $entry (@array){
printf("state: %s\n", $entry->{state});
printf("memberId: %s\n", $entry->{memberId});
printf("symbol: %s\n\n", $entry->{symbol});
}
これにより、次の出力が生成されます。
1868954 18688d0 18688c4
state: table
memberId: 12345
symbol: 37
state: table
memberId: 12345
symbol: 37
state: table
memberId: 12345
symbol: 37
したがって、配列内のスカラー値が異なるように見えます。ただし、これらのスカラーが指すハッシュの値はすべて同じです。
よろしくお願いします。