作者abc990a (yoyoman)
看板Perl
標題[問題] 參照 變數宣告及記憶體位置問題
時間Tue Feb 7 14:33:46 2023
大家好
最近在參照上遇到一個問題,想請問大家下面兩段程式碼裡,為什麼我使用my宣告後的第二
次重新指定變數內容會讓Perl指向新的記憶體位置,而沒有宣告的部份卻是指向一樣的位置
?
另外想問變數名稱和記憶體位置的關係在Perl 裡面是如何的,跟其他語言會是相似的嗎?
希望大家能替我解答,感謝~
my $AAA = 0;
$Ref = \$AAA;
print "1:$Ref\n";
my $AAA = 0;
$Ref = \$AAA;
print "2:$Ref\n";
1:SCALAR(0x5582dcc8d950)
2:SCALAR(0x5582dcc8da28)
$AAA = 0;
$Ref = \$AAA;
print "1:$Ref\n";
$AAA = 0;
$Ref = \$AAA;
print "2:$Ref\n";
1:SCALAR(0x5640c49e0990)
2:SCALAR(0x5640c49e0990)
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.136.181.209 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Perl/M.1675751628.A.D72.html
推 clanguage: 結果已經說明了你宣告兩次一樣的變數會配置不同的記憶 02/07 17:35
→ clanguage: 你如果有開warning的話 編譯器會警告 02/07 17:36