我可以用它来包括文件a.pl
:如何'需要'由子例程返回的路径寻址的Perl库?
require 'a.pl';
或者,我可以用这个:
$fn = 'a.pl';
require $fn;
然而,一个子程序将无法正常工作:
sub fn { return 'a.pl'; }
require fn(); # This is a syntax error
有一个允许这个的语法?我注意到我可以通过
sub fn { return 'a.pl'; }
require eval("fn()");
解决问题...但这并不是非常漂亮。
或你可以添加一个&:) – ysth
哦,我没有想到这一点!是的,任何阻止在'require'之后直接输入裸字符的东西(除了一元'+',出于某种原因?)。但是我们应该坚持使用Modern Perl,并且再也不会提及'&foo()'风格调用:D – amon
是的,~~也可以工作:) – ysth