通常情况下,一个包开始只是作为“标准”和块封装声明有什么不同吗?
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