假设文件中只有一个package
,订单或以下Perl样板是否重要?如果没有技术原因有任何美感吗?
use 5.006;
use strict;
use warnings;
package foo;
答案 0 :(得分:3)
如果锅炉盘的任何部分导入任何子程序或变量,或者对调用者的命名空间做任何棘手的事情,那么该命令就很重要。
如果你习惯将它放在包装名称之前,那么有一天当你想将use List::Util 'reduce';
添加到锅炉盘时,子程序将被导入main
而不是{{} 1}}。因此,foo
包不会导入foo
,您可能会试图弄清楚它为何无法正常工作。
与您显示的三个导入无关的原因是它们都是实用的模块(或断言),它们的作用是词法范围,而不是包作用域。放置在文件的顶部,这些编译指示将对整个文件生效。
答案 1 :(得分:2)
从技术角度来看,订单无关紧要。
我的做法(并且,fwiw, Perl最佳实践中使用的内容)始终将包声明放在最开始。如果之前有什么东西,我会在包装声明之前建议一个空行,以使其脱颖而出。