我一直想知道这一点。我有一个总是添加的习惯
use strict;
use warnings;
use Data::Dumper;
在我编写的每个脚本的顶部。如果我什至不使用 Dumper 功能,这会增加开销吗?此外,在大多数情况下,Data::Dumper 之前在另一个包中被调用过,但我在这个包中需要它,所以我再次包含它。在这种情况下,它会产生额外的开销吗?
最佳答案
如果他们有 BEGIN
block 或 import
例程,然后是的,它总是增加开销。此外,任何主线代码最终都会被执行,任何 INIT
, CHECK
, 和 END
block 也将执行。
它不会增加开销的唯一方法是如果模块需要 use
无非是像require
. (当然,require
也运行除了 import
例程之外的所有内容,但这就是为什么我提到来自 use
-d 模块的 View 。它“期望”只是一个简单的 require
。)
如果您出于某种原因想保留该行,只需将其注释掉即可。在开发中,有你不使用的模块是可以的。在 QA 或生产中,这是一个错误,IMO。
关于performance - 顶部的 "use ...."是否会增加 Perl 脚本的开销?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/986956/