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
等将被导入到另一个命名空间。 你可以做痘痘黑客要做到这一点smiple:
MyModules.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;
注意:没有package
在这个.pm的关键字。 您的脚本:
use MyModules;
把这个名.pm到同一目录以脚本或在运行时添加模块搜索路径:
use lib '/my_modules_dir/';
use MyModules;
不建议做和使用需要的命令,因为他们不脚本开始进行语法检查。 当然,你可以把它们放入BEGIN块,但我认为它的取巧的办法,一般BEGIN{ require ..}
是一样的use
UPD: 池上注意的问题,当你使用这个由很多模块它不工作。 不管问题起动的信息(他想用这种从主脚本),生病添加信息如何从众多模块使用这一点,所以我的朋友可以感觉更好。 添加结束MyModules.pm的:
delete $INC{'MyModules.pm'};
1;
您可以使用
BEGIN { do 'filename.pl' or die $@ }
见做 。 一定要包括1;
在文件的底部。
你可能看的工具包模块。