use warnings;
use strict;
my $number = 1;
my %hash =
(
key1 => $number,
key2 => 'something'
);
for (1 .. 10)
{
print $hash{key1}, "\n";
$number++;
}
數字在每一步中都發生變化。預期結果爲1, 2, 3, ..., 10
,但實際結果爲1, 1, 1, ..., 1
。爲什麼哈希不會改變?哈希值不變
或者,如果您希望更改'$ number'直接影響哈希,您可以使用像'key1 => \ $ number'這樣的指針,然後執行'print $ {$ hash {key1}}'來訪問它 – asp
@asp謝謝你的回答我的這個基本問題。我花了一些時間來完成它,但現在我明白了。我瞭解到,有兩種不同的方法 - 傳遞價值和參照。我現在使用'$ number'變量的引用,它運行良好。 – Jeyekomon