Perl @INCパスヘルプ

Perl @INCパスヘルプ

Perlパスが削除されたため、実行されていないPerlスクリプトを受け取りました。 /opt/perl/lib/5.28.2 を指すようにパスを変更するにはどうすればよいですか?助けてくれてありがとう。よろしくお願いします。

[root@server1 ~]# perl -V
Can't locate Config.pm in @INC (you may need to install the Config module) (@INC contains: /xyz/perl/lib/site_perl/5.28.2/x86_64-linux /xyz/perl/lib/site_perl/5.28.2 /xyz/perl/lib/5.28.2/x86_64-linux /xyz/perl/lib/5.28.2).
BEGIN failed--compilation aborted.
[root@server1 ~]# perl -e "print \"@INC\""\
/xyz/perl/lib/site_perl/5.28.2/x86_64-linux /xyz/perl/lib/site_perl/5.28.2 /xyz/perl/lib/5.28.2/x86_64-linux /xyz/perl/lib/5.28.2
[root@server1 ~]#


[root@server1 ~]# yum install perl
Loaded plugins: langpacks, ulninfo\
Package 4:perl-5.16.3-299.el7_9.x86_64 already installed and latest version\
Nothing to do\
[root@server1 ~]# whereis perl
perl: /usr/bin/perl /opt/perl/bin/perl /usr/share/man/man1/perl.1.gz
[root@server1 ~]#

ベストアンサー1

新規インストールパスに移動するには、まず削除します。

# yam remove perl
# yam install perl

個々のモジュールの場合はアップグレードする必要があります(perl自体と基本パッケージの一部を説明するConfig.pmではありません)。しかし、時には他のライブラリに役立つかもしれません。

# cpan
> upgrade SomeModule

これができない場合は、PERLLIB環境変数を使用できます。見つからない.pmの場所を見つけて、PERLLIBにパスを追加します。

# export PERLLIB=/somepath:$PERLIB

この行を独自の構成ファイルまたはグローバル構成ファイルに追加する必要があります。

単一のスクリプトのみを実行する必要がある場合は、それを変更できます。

#!/usr/bin/perl
use lib '/somepath'; # now this path is in @INC and modules from it can be used

おすすめ記事