Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“不断获取错误”;Can';t在@INC”中找到Image/Grab.pm;安装Perl mod之后_Perl_Syntax Error_Runtime Error_Perl Module - Fatal编程技术网

“不断获取错误”;Can';t在@INC”中找到Image/Grab.pm;安装Perl mod之后

“不断获取错误”;Can';t在@INC”中找到Image/Grab.pm;安装Perl mod之后,perl,syntax-error,runtime-error,perl-module,Perl,Syntax Error,Runtime Error,Perl Module,我对编程有点陌生,我在编写Perl脚本时遇到了一些问题,该脚本将从网页中获取所有图像并将它们保存在指定的目录中 这是我的密码: use warnings; use strict; use lib '/home/User1/strawberry/cpan/build'; use Image::Grab; $pic = Image::Grab->new(SEARCH_URL=>'http://www.examplesite.com',

我对编程有点陌生,我在编写Perl脚本时遇到了一些问题,该脚本将从网页中获取所有图像并将它们保存在指定的目录中

这是我的密码:

use warnings;
use strict;
use lib '/home/User1/strawberry/cpan/build';
use Image::Grab;

$pic = Image::Grab->new(SEARCH_URL=>'http://www.examplesite.com',
                          REGEXP    =>'.*\.gif|.*\.jpg');
my $dir = 'images';

opendir (IMG, ">>$dir") || die "Directory doesn't exist - $!\n";
foreach ($pic) {
        print IMG "$_\n";
}
closedir IMG;
这是我在PuTTY中运行脚本时遇到的错误:

在@INC中找不到Image/Grab.pm(@INC包含: /home/User1/草莓/cpan/build/etc/perl/usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1/usr/lib/perl5/usr/share/perl5 /usr/lib/perl/5.10/usr/share/perl/5.10/usr/local/lib/site_perl.)位于 getimage.pl第7行。BEGIN失败--编译在getimage.pl处中止 第7行


感谢您的帮助

这是您尚未安装模块时的标准错误。Grab不是perl附带的。在cpan上有很多perl模块可用,例如:

模块是有人用perl编写并提供给您使用的函数库

现在,您必须了解如何安装模块。看看这是否有效:

$ perl -MCPAN -e shell

-M => Use the module specified, in this case CPAN(comes with perl)  
-e => execute the following perl code, in this case the function shell().
然后

第一次这样做时,你必须回答很多问题

完成后:

cpan> q  ('q' is for quit)
评论回复:

1) 尝试更新您的CPAN模块:

cpan> install CPAN
cpan> reload cpan
然后:

从源代码安装是可以的,但如果您可以让cpan工作,那么它将负责下载所有依赖项,因此无需麻烦。我只是使用cpan下载Image::Grab,没有出现任何错误。它没有需要下载的依赖项

2) 以下内容的输出是什么:

$ perl --version (it looks like you are using perl 5.10.1)  
另外,在问题的底部添加cpan尝试的全部输出

3) 尝试安装其他模块,如:


我注意到您说您使用CPAN安装了模块。这会让我知道你是在linux操作系统上运行的,每次安装脚本问你问题时,你都会一直按“回车”键,乐观地相信一切都会成功,就像电影中一样

如果你仔细阅读,你可能会注意到安装中的各种问题

我昨天也做了同样的事情,因为我不想经历解决依赖关系的所有麻烦。顺便说一句,我用的是CPAN。我不确定CPAN代表什么,但昨天它绝对不是完美的自动NicheperModuleInstaller

常常没有Perl::EasyButton。有时你不得不卷起袖子开始安装tar.gz,结果发现你需要其他tar.gz,结果发现你需要更多的tar.gz,直到有一天你回首往事,想知道你的生活去了哪里

除非你能让CPAN工作。然后你只需坐在油灰终端前,就像一只猴子,每当它问你问题并建议回答时,按回车键。如果幸运的话,在您按了1837次“回车”键后,您需要使用的模块将被安装并正常工作

我可能会建议一个完全不同的模块或方法,您正在寻找一种从互联网上抓取图像的简单方法。如果你想长期使用Perl,我建议你卷起袖子,把衣服弄脏。如果你给我一个图片的URL,我可以从头开始编写代码,在几分钟内下载。然后,只要我想下载更多的图片,我就可以重复使用这些代码。不久,我就可以用从原始代码下载的图像填满硬盘

你需要让自己达到这一点。或者你需要寻找一种能被大众使用的罐装溶液,并在大众中占有一席之地

或者,你可以在谷歌上搜索你在CPAN上运行安装时遇到的确切问题,找出你做错了什么。这是一个选择

也许还有更多的选择。希望你能想出一个好的


祝你好运

我试过了,但它给了我这个错误:停止“Image::Grab”的“install”失败。在此命令执行期间失败:MAHEX/Image-Grab-1.4.2.tar.gz:make_test NOI下载Image-Grab-1.4.2.tar.gz并重试,但仍然得到相同的错误,而不是所有的交互内容,您可以使用
cpan Image::Grab
,它也可以执行相同的操作。如果OP仍然有问题,他们应该发布他们看到的完整输出。@mono arg,哎呀。请看我的回答附在我答案的底部。@briandfoy,我就是这么做的——我不确定这是否是一件愚蠢的事情;或者是否由其他cpan安装程序之一启用。如果您可以在op发布其完整输出时进行检查,我相信您将有更好的机会找出问题所在。尽管有时cpan命令是错误的,但它经常破坏Perl模块。不安装损坏的模块是正确和预期的行为。不过,有一些开关可以覆盖该功能。:)谢谢你的意见和建议
cpan> install Image::Grab
$ perl --version (it looks like you are using perl 5.10.1)