我对perl有疑问, 我需要在命令行参数/开关/选项中获取文件名,并根据我需要在我的脚本中包含/ require / use该文件。 因此,通过使用该getopt变量,我能够完成它。但是,如果我在我的脚本中使用“use strict”,我就无法得到它。请帮助解决这个问题
我尝试了以下和它的工作
base.pm:
our $def_name = "me";
main.pl:
my $name = "mathlib.pm";
require $name;
print $def_name;
当我在main.pl和base.pm中包含以下行时,
use strict;
use warnings;
我收到错误,
Global symbol "$def_name" requires explicit package name .
Execution of main.pl aborted due to compilation errors.
答案 0 :(得分:1)
$def_name
尚未从mathlib.pm
导出,它是一个不是全局的包变量。 $mathlib::def_name
可以使用,或者您可以使用Exporter
模块将其导出到使用它的任何模块的命名空间中。