【发布时间】:2020-09-07 15:56:03
【问题描述】:
这个简单的.pl 脚本应该抓取一个目录中的所有图像并输出一个 HTML(当在浏览器中打开时)以自然尺寸显示该目录中的所有图像。
在 mac 命令行中,我只想说 perl myscript.pl 并让它运行。
…它曾经在/cgi-bin的apache上运行。
#!/usr/bin/perl -wT
# myscript.pl
use strict;
use CGI;
use Image::Size;
my $q = new CGI;
my $imageDir = "./";
my @images;
opendir DIR, "$imageDir" or die "Can't open $imageDir $!";
@images = grep { /\.(?:png|gif|jpg)$/i } readdir DIR;
closedir DIR;
print $q->header("text/html"),
$q->start_html("Images in $imageDir"),
$q->p("Here are all the images in $imageDir");
foreach my $image (@images) {
my ($width, $height) = imgsize("$image");
print $q->p(
$q->a({-href=>$image},
$q->img({-src=>$image,
-width=>$width,
-height=>$height})
)
);
}
print $q->end_html;
【问题讨论】:
-
在命令行运行它会做什么?
-
Can't locate CGI.pm in @INC (you may need to install the CGI module) (@INC contains: /opt/local/lib/perl5/site_perl/5.24/darwin-thread-multi-2level /opt/local/lib/perl5/site_perl/5.24 /opt/local/lib/perl5/vendor_perl/5.24/darwin-thread-multi-2level /opt/local/lib/perl5/vendor_perl/5.24 /opt/local/lib/perl5/5.24/darwin-thread-multi-2level /opt/local/lib/perl5/5.24) at imagescrounge-2020.pl line 8. -
您的 perl 安装缺少模块
CGI。可以用cpan CGI安装,然后再次尝试运行脚本。 -
太棒了,@PolarBear。谢谢……如果您想回答这个问题,那么我会将其标记为已接受! … 再次感谢。我不知道如何在 OSX 上使用 perl。