我正在运行一个需要Curl.pm lib的脚本才能工作。我使用YUM安装库,现在我试图让我的脚本使用它,但我一直收到错误
Can't locate WWW/Curl.pm in @INC (@INC contains: /usr/lib64/perl5/site_perl/5.8.6/x86_...
当我在命令行中输入以下内容时:
rpm -ql curl
我明白了:
/usr/bin/curl
/usr/lib64/libcurl.so.3
/usr/lib64/libcurl.so.3.0.0
/usr/share/doc/curl-7.13.1
/usr/share/doc/curl-7.13.1/BUGS
/usr/share/doc/curl-7.13.1/CHANGES
/usr/share/doc/curl-7.13.1/COPYING
/usr/share/doc/curl-7.13.1/FAQ
...
/usr/share/man/man1/curl.1.gz
/usr/bin/curl
/usr/lib/libcurl.so.3
/usr/lib/libcurl.so.3.0.0
/usr/share/doc/curl-7.13.1
/usr/share/doc/curl-7.13.1/BUGS
/usr/share/doc/curl-7.13.1/CHANGES
... etc.
上述哪条路径需要包含在我的@INC目录中?我原以为下面的代码可以解决问题放在我的脚本顶部,但我仍然得到同样的错误@INC错误。
BEGIN {
unshift(@INC, '/usr/lib/libcurl.so.3');
use WWW::Curl;
}
当我输入
cpan> i /WWW::curl/
我在下面列出了以下列表。我还是难过。我想使用WWW :: curl,我不知道下面(或上面)的哪个路径要添加到@INC!它看起来已经安装好了。我该怎么办?
cpan> i /WWW::curl/
CPAN: Storable loaded ok
Going to read /root/.cpan/Metadata
Database was generated on Mon, 30 Nov 2009 02:55:47 GMT
Module WWW::Curl (S/SZ/SZBALINT/WWW-Curl-4.09.tar.gz)
Module WWW::Curl::Easy (S/SZ/SZBALINT/WWW-Curl-4.09.tar.gz)
Module WWW::Curl::Form (S/SZ/SZBALINT/WWW-Curl-4.09.tar.gz)
Module WWW::Curl::Multi (S/SZ/SZBALINT/WWW-Curl-4.09.tar.gz)
Module WWW::Curl::Share (S/SZ/SZBALINT/WWW-Curl-4.09.tar.gz)
Module WWW::Curl::Simple (A/AN/ANDREMAR/WWW-Curl-Simple-0.05.tar.gz)
Module WWW::Curl::Simple::Request (A/AN/ANDREMAR/WWW-Curl-Simple-0.05.tar.gz)
7 items found
答案 0 :(得分:8)
您安装的curl
与WWW::Curl
不同。
您需要安装Perl模块WWW::Curl
。 您应该首先搜索您的操作系统特定的软件包存储库。 如果您在那里找不到它,请使用cpanm
进行安装:
$ cpanm WWW::Curl
答案 1 :(得分:8)
您已安装curl库。要安装WWW :: Curl模块,请执行以下操作:
yum install perl-WWW-Curl
答案 2 :(得分:2)
我将忽略我看到的那种混乱,只是回答这个问题:
@INC
添加库,而是添加目录。您添加的目录包含Perl模块,即*.pm
个文件。use lib
即可。如果您要添加的目录是/foo/bar
:
use lib qw| /foo/bar |;