我正在编写一个使用模块Inline::Java的Perl脚本。通过硬编码 CLASSPATH 配置选项来包含外部库,例如
use Inline (
Java => 'DATA',
CLASSPATH => '/way/to/classes:/way/to/Jar.jar:.',
);
工程。 但是通过编写来使用环境变量 CLASSPATH
use Inline (
Java => 'DATA',
CLASSPATH => $ENV{CLASSPATH},
);
不起作用(也许是因为 %ENV 是在运行时设置的??将整个事情包装在一个 BEGIN 块中,即尝试显式编写"use"
BEGIN {
require Inline(
Java => 'DATA',
CLASSPATH => $ENV{CLASSPATH},
);
}
效果不佳(因为上面的代码导致了编译错误(。有没有人知道如何在Inline::Java中使用CLASSPATH环境变量?
试试这个:
$inline1 = "use Inline ( Java => 'DATA', CLASSPATH => $ENV{CLASSPATH},)";
print $inline1;
eval $inline1;