我想在我的主目录中设置Perl 5.10,除了目前在/ usr/local机器上的古老Perl.我不是这台机器上的超级用户.
我找到了需要5.10 HPUX perl二进制包,它似乎工作,但由于某种原因,它似乎假设它在/ usr/local运行(由@INC错误消息证明).除PERLLIB之外是否还有其他变量,比如PERLHOME或我需要设置的东西,以便Perl不会在/ usr/local dirs中查找任何内容?
PS我在网上看到了在./Configure步骤中编译和设置目录的建议,但是我很难在这个旧盒子上编译东西,所以我更喜欢使用预编译的Perl,因为它似乎主要起作用.
更新 - 莱昂回答了这个问题,所以基本上不可能从你的家庭目录中正确运行perl二进制文件,除非它是在编译时考虑到的
你不会喜欢这个答案.
Perl将@INC存储为二进制文件中的字符串.之前有userelocatableinc
重新定位Perl的技术是在二进制文件上进行搜索和替换,以及在Config.pm中更改它们.这就是ActiveState发布可重定位Perl的方式.
字符串必须保持与之前相同的大小,用空字节填充任何额外的空格.ActiveState可以通过使用类似"/ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxTMPPATHxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"等的前缀配置Perl来解决这个问题.它也使得在二进制文件中找到它真的毫不含糊.你没有这样的运气,所以它只有在当前路径比你想要替换它们的路径短的情况下才有效.
但那太复杂了.只需使用HP/UX的源代码自行编译Perl,或者只需从perl.org获取常规源代码即可.Perl有一个专门的HP/UX开发人员,所以它应该顺利进行.