鉴于以下内容:
package My::Pack;
use Exporter::Easy (
OK => [ qw(pack_func) ],
);
sub pack_func {
...
}
package main;
<script here that uses pack_func>
如何导入我想要的符号?
use
无效,因为它正在寻找另一个要打开的文件。
require
不支持use
用于指定所需符号的语法。
我唯一的选择是在脚本中说My::Pac::pack_func()
还是通过typeglob assignmnet手动导入符号?
答案 0 :(得分:1)
声明:
use Some::Module qw(foo bar);
BEGIN {
require Some::Module;
Some::Module->import( qw(foo bar) );
}
在您的情况下,My::Pack
模块的代码已经加载,因此您不需要require
它。因此,您可以这样做:
BEGIN { My::Pack->import( qw(pack_func) ) }