Perl样板应该放在包声明之前还是之后?

Perl样板应该放在包声明之前还是之后?,perl,Perl,假设一个文件中只有一个包,那么顺序或下面的Perl样板文件是否重要?如果没有技术上的原因,是否有美学上的原因 use 5.006; use strict; use warnings; package foo; 从技术角度看,顺序并不重要 这一直是我的实践,而且,fwiw,Perl最佳实践中使用了什么来将包声明放在一开始。如果在包声明之前有任何内容,我建议在它前面加一个空行,使其突出。如果锅炉板的任何部分导入了任何子例程或变量,或者对调用方的名称空间做了任何棘手的事情,则顺序很重要 如果您养成了

假设一个文件中只有一个包,那么顺序或下面的Perl样板文件是否重要?如果没有技术上的原因,是否有美学上的原因

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

从技术角度看,顺序并不重要


这一直是我的实践,而且,fwiw,Perl最佳实践中使用了什么来将包声明放在一开始。如果在包声明之前有任何内容,我建议在它前面加一个空行,使其突出。

如果锅炉板的任何部分导入了任何子例程或变量,或者对调用方的名称空间做了任何棘手的事情,则顺序很重要

如果您养成了将其放在包名之前的习惯,那么有一天您想要添加use List::Util'reduce';对于锅炉板,子例程将导入main而不是foo。因此,package foo将不会导入reduce,您可能会在一段时间内挠头,试图找出它不起作用的原因


这与您展示的三个导入无关的原因是,它们都是实用的模块或断言,它们的作用是词汇范围的,而不是包范围的。放在文件顶部,这些pragma将对整个文件生效。

从技术角度看,顺序并不重要……除非它确实重要。这对出口和其他情况都很重要。