我宣佈一個數組,該數組這樣的引用: -倒車陣列使用數組名稱和參考陣列
my @array = (1, 2, 3, 4);
my $aref = \@array;
現在,我試圖扭轉數組,使用數組名稱和參考名稱。
print reverse @array, "\n";
print reverse @{$aref}, "\n";
這是工作的罰款,並打印反向排列在兩種情況下: -
4321
4321
但是,如果我嘗試打印相反在同一直線上,它給了我一個奇怪的結果: -
print reverse @array, reverse @{$aref}, "\n";
現在,我得到這樣的輸出: -
1234
4321
如果我在兩者之間添加一個換行符: -
print reverse @array, "\n", reverse @{$aref}, "\n";
我得到這樣的輸出: -
1234
4321
因此,有兩個問題,你可以看到: -
- 1st,使用名稱
- 2nd,在兩個反轉陣列之間打印了額外的換行符。
我無法理解這種行爲,爲什麼會發生這種情況。此外,我通過功能reverse
的文檔檢查是否有任何關於此行爲的提及,但我沒有用餐。任何人都可以解釋這裏發生了什麼?
奔跑穿過'的perl -MO = Deparse ...'可以幫助您瞭解Perl是什麼更容易看到 – Zaid
@Zaid。感謝命令。還有待研究各種命令。 :) –