次のコードで作成したハッシュ配列のハッシュから値を削除しようとしています。
while ((my $Genotype1, my $Fitness1) = each (%Normalisedfithash)) {
while ((my $Parent1A, my $TallyP1) = each(%P1Tallyhash)) {
my $ParentTally = 0;
my $SecondParent = {
Parent2 => $Parent1A,
Tally => $ParentTally,
};
push @{ $StoredParentshash{$Genotype1}}, $SecondParent;
私はゼロから値%StoredParentshash
を削除しようとしています。Tally
(更新するコードがさらにありますTally
が、更新されていないものもあり、ハッシュから削除したい)。
私は次のように書いています。
for my $Parent (keys %StoredParentshash) {
my $aref1 = $StoredParentshash{$Parent};
for my $hashref1 (@$aref1) {
my $Tally = $hashref1->{'Tally'};
if ($Tally == 0){
delete $hashref1->{'Tally'};
delete $hashref1->{'Parent2'};
}
}
}
このコードはデータを削除しますがData::Dumper
、構造を使用すると次のようになります。
'7412' => [
{},
{
'Tally' => 1,
'Parent2' => '2136'
},
{},
{},
{},
Tally
が残るのではなく、ゼロのキーを完全に削除するにはどうすればよい{}
ですか?
ありがとう!