清除值如果我有作爲散列參考定義:的Perl:在嵌套散列
my %hash1=(
"a" => 1,
"b" => 2,
"c" => {
"d" => 4,
"e" => 5
}
);
my $r_hash1 = \%hash1;
將使用:
$r_hash1->{c}=();
要清除%HASH1 {C}的密鑰進行再利用清潔?
如果是這樣,我也想知道,如果我有:
my %hash1=(
"a" => 1,
"b" => 2
);
my %hash2=(
"d" => 4,
"e" => 5
);
my $r_hash1 = \%hash1;
my $r_hash2 = \%hash2;
$r_hash1->{"c"} = $r_hash2;
無論使用:
$r_hash1->{c}=();
將釋放重用使用%HASH2的內存肯定它會使用在散列上下文中:
%$r_hash1->{c}
但是,這將看哈希上下文中的$ r_hash1,而不是內容$ r_hash1 - > {C}。
謝謝。
在第二個問題中,你正在定義$ r_hash1兩次,我想你的意思是定義'my $ r_hash2 = \%hash2;' – imran 2013-04-08 17:05:43
Thanks - 編輯 – Caw 2013-04-08 18:25:16