Perl样板文件应该在包装声明之前或之后进行吗?

时间:2011-04-27 14:01:08

标签: perl

假设文件中只有一个package,订单或以下Perl样板是否重要?如果没有技术原因有任何美感吗?

use 5.006;
use strict;
use warnings;
package foo;

2 个答案:

答案 0 :(得分:3)

如果锅炉盘的任何部分导入任何子程序或变量,或者对调用者的命名空间做任何棘手的事情,那么该命令就很重要。

如果你习惯将它放在包装名称之前,那么有一天当你想将use List::Util 'reduce';添加到锅炉盘时,子程序将被导入main而不是{{} 1}}。因此,foo包不会导入foo,您可能会试图弄清楚它为何无法正常工作。

与您显示的三个导入无关的原因是它们都是实用的模块(或断言),它们的作用是词法范围,而不是包作用域。放置在文件的顶部,这些编译指示将对整个文件生效。

答案 1 :(得分:2)

从技术角度来看,订单无关紧要。

我的做法(并且,fwiw, Perl最佳实践中使用的内容)始终将包声明放在最开始。如果之前有什么东西,我会在包装声明之前建议一个空行,以使其脱颖而出。