我有一堆 perl 脚本,每个脚本都需要有一个相同的 BEGIN 部分,这将我们开发的 perl 模块的路径添加到 @INC。因为它不是一个子,我不能简单地调用它。目前我在每个 perl 脚本中都包含这部分,这显然是一个令人头疼的维护。有没有更简单的方法来包含 BEGIN 部分?
BEGIN
{
my $current_script_dir = File::Basename::dirname(File::Spec::Functions::rel2abs($0));
# Assume that the root of all libraries is two levels up from the directory of the
# script being run.
my $all_libs_root = File::Spec->canonpath("$current_script_dir/../..");
# Make sure the path is absolute,
$all_libs_root = File::Spec->rel2abs($all_libs_root);
unshift(@INC, "$all_libs_root");
}