Perl での逆参照について何か助けが得られるかどうか疑問に思っています。
DB にクエリを実行し、返されたものを反復処理する while ループがあります。次に、必要なデータをハッシュに書き込み、そのハッシュを配列にプッシュします。これはすべて、JSON 文字列の一部を構成しています。
ただし、ハッシュ自体ではなく、ハッシュへの参照のみをプッシュできます(あらゆる種類のことを試しました)。つまり、ループが(たとえば)3回行われると、JSON Iに同じものが3回表示されます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;
助けてくれてありがとう!