查找Perl可执行文件是否可移植

时间:2014-10-13 10:03:01

标签: windows perl environment-variables strawberry-perl

我正在尝试修补一个程序来检查perl的可移植版本,如下所示:

use Config;
my $is_portable = $Config{userelocatableinc};

这不适用于Strawberry Perl,因此程序失败。

我使用的是Perl 5.20.1,64位:

>perl -V:userelocatableinc
userelocatableinc='undef';

我该怎么做才能找到当前的Perl是否是便携式的,不管是草莓吗?

2 个答案:

答案 0 :(得分:2)

这就是你做的。 perl -V:userelocatableinc会告诉你它是否构建为使用相对路径。

草莓不是用这个选项构建的,所以它不便携。如果你需要这种支持,你必须自己构建它,虽然我知道ActiveState的perl有一些黑客可以使它可移植。

我考虑与草莓家伙一起出票,看看他们是否应该在他们的版本中添加这个选项。

答案 1 :(得分:-1)

这对我有用:

print "I'm portable" if eval 'require Portable';

Portable Strawberry Perl在供应商目录中附带了Portable.pm,其中增加了File :: Homedir等。