私はPerlで逆参照について助けを得ることができますか?Perl - ハッシュの参照を外す
私はDBにクエリを実行していて、何を返すのかを反復するwhileループを持っています。次に、必要なデータをハッシュに書き込み、ハッシュを配列にプッシュします。これはすべてJSON文字列の一部です。
しかし、私はハッシュ自体ではなくハッシュ自体を参照することができます(私はあらゆる種類のものを試しました)。つまり、ループが3回行われた場合、同じことが3回表示されます私はJSONでPUTしようとしています。ここで
は、コードは次のとおりです。任意のヘルプ
my $json = new JSON::XS;
my $json_text = JSON::XS->new->decode (shift->content);
my $sig_num = 0;
my %sig_hash;
<MySQL Stuff -removed for readability>
while($query_handle->fetch())
{
$sig_num++;
$sig_hash{position} = 'below';
$sig_hash{signature_text} = $sig;
$sig_hash{signature_name} = 'Signature '.$sig_num;
$sig_hash{signature_default} = JSON::XS::true;
push (@{$json_text->{data}->{mail}->{signatures}}, \%sig_hash);
}
return $json_text;
ありがとう!
にそれを割り当てずに、スタック上に直接無名ハッシュをプッシュすることができます好む場合ハッシュ構造を隠すために1つのリファレンスを4つの逆参照で置き換える(コード長や他のメトリックでは役に立たない)ことは "より簡単"です。 – ikegami