perl 脚本包含脚本开头的所有模块名称。
前任:
use strict;
use XML::Parser;
use XML::Simple;
use DBI;
use DBD::DB2::Constants;
use POSIX qw( strftime );
use Storable qw(dclone);
use Data::Dumper;
use Carp;
如何将所有模块名称保存在另一个文件中并将该文件包含在主 perl 脚本中?
谢谢。
perl 脚本包含脚本开头的所有模块名称。
前任:
use strict;
use XML::Parser;
use XML::Simple;
use DBI;
use DBD::DB2::Constants;
use POSIX qw( strftime );
use Storable qw(dclone);
use Data::Dumper;
use Carp;
如何将所有模块名称保存在另一个文件中并将该文件包含在主 perl 脚本中?
谢谢。
创建自己的模块。但是,如果您在此模块中制作包,则这些strftime
等将被导入另一个命名空间。你可以做一些小技巧来做这个微笑:
我的模块.pm:
use strict;
use XML::Parser;
use XML::Simple;
use DBI;
use DBD::DB2::Constants;
use POSIX qw( strftime );
use Storable qw(dclone);
use Data::Dumper;
use Carp;
请注意,此 .pm 中没有package
关键字。你的脚本:
use MyModules;
将此 .pm 放入与脚本相同的目录或在运行时添加模块搜索路径:
use lib '/my_modules_dir/';
use MyModules;
不推荐使用do和require命令,因为它们不会在脚本启动时检查语法。当然,您可以将它们放入 BEGIN 块中,但我认为它很棘手,通常BEGIN{ require ..}
与use
UPD:ikegami注意到当您从许多模块中使用它时它无法正常工作。不管问题启动器的信息(他想从主脚本中使用它),我都会从许多模块中添加如何使用它的信息,这样我的朋友会感觉更好。添加到 MyModules.pm 的末尾:
delete $INC{'MyModules.pm'};
1;
您可能会查看Toolkit模块。