通常情況下,一個包開始只是作爲「標準」和塊封裝聲明有什麼不同嗎?
package Cat;
... #content
!0;
我才發現,原來從perl的5.14開始有「塊」的語法了。
package Cat {
... #content
}
它可能是相同的。但可以肯定的是,有沒有的區別?
而關於1;
在包文件的末尾。任何塊的返回值都被視爲最後評估的表達式的值。那麼我可以在}
之前把1;
?爲了使require
快樂,有什麼區別:
package Cat {
... #content
1;
}
和
package Cat {
... #content
}
1;
我只是建議,如果'require'無論哪種方式都很快樂(沒有差別),那麼就'require'而言沒有區別。你的意思是說通過自己嘗試代碼找到答案根本沒有幫助嗎? – doubleDown
@Nemo'package NAME {...}'只是'{package NAME; ...}';他們是完全一樣的東西。如果文件中的最後一個語句是一個塊,那麼塊中的最後一個語句就是'require'將會得到的值。 – amon
公平地說,你的問題沒有提到你自己嘗試過,沒有發現任何區別,所以我建議你也許可以嘗試它(第二部分)。既然你發現它是冒犯性的(儘管它不是我的意圖),我會刪除這個違規的評論。 – doubleDown