在一个标准的linux设置中,我可以在哪里添加一个目录到@INC变量?在/etc/profile文件中,我添加了:
@INC
/etc/profile
export PERLLIB=$PERLLIB:/foo/bar export PERL5LIB=$PERL5LIB:/foo/bar
谢谢
5t7ly7z51#
如果希望每个Perl脚本都有额外的库路径,可以重新编译Perl并指定额外的目录作为设置的一部分。除此之外,您只能使用您所描述的特定方法。
gr8qqesn2#
您可能还需要源代码~/。bashrc,以便在此更改生效之前重建您的环境,或者注销并重新登录。至少如果你在本地的~/中做了那个修改,这是必需的。bash_profile而不是系统范围。
wgxvkvu93#
通过/etc/profile或/etc/profile中的脚本添加到PERL 5LIB。d仅在从命令行运行程序时才起作用。如果您在其他地方调用它,例如从crontab条目,那将不起作用。我所做的是在程序的顶部添加一行,在use strict下,但在所有其他用法之前,看起来像这样:
push @INC, '/foo/bar' unless grep('/foo/bar', @INC);
lp0sw83n4#
下面的命令可以帮助解决这个问题。“/usr/print”;
4条答案
按热度按时间5t7ly7z51#
如果希望每个Perl脚本都有额外的库路径,可以重新编译Perl并指定额外的目录作为设置的一部分。除此之外,您只能使用您所描述的特定方法。
gr8qqesn2#
您可能还需要源代码~/。bashrc,以便在此更改生效之前重建您的环境,或者注销并重新登录。至少如果你在本地的~/中做了那个修改,这是必需的。bash_profile而不是系统范围。
wgxvkvu93#
通过/etc/profile或/etc/profile中的脚本添加到PERL 5LIB。d仅在从命令行运行程序时才起作用。如果您在其他地方调用它,例如从crontab条目,那将不起作用。我所做的是在程序的顶部添加一行,在use strict下,但在所有其他用法之前,看起来像这样:
lp0sw83n4#
下面的命令可以帮助解决这个问题。“/usr/print”;