=any
eval qq(
use $$category_r[0];
);
die $? if $?;
=cut
require "$$category_r[0].pm";
Run Code Online (Sandbox Code Playgroud)
现在只require为我工作,我不知道为什么第一个不按预期工作......
即使这不起作用:
my $pkg = "A";
eval {
use $pkg;
};
Run Code Online (Sandbox Code Playgroud)
如果要动态加载模块,请尝试使用Module :: Load.
它适用于文件名和模块.它比...更安全
my $module = "strict; warn 'PWNED'";
eval "use $module";
Run Code Online (Sandbox Code Playgroud)
另外,正如@daxim指出的那样,它解释了正在发生的事情.