嗨,我有一个简单的脚本,它接受一个文件并在其上运行另一个 Perl 脚本。该脚本对当前文件夹中的每个图片文件执行此操作。这是在一台具有 2 个四核 Xeon 处理器、16gb 内存、运行 RedHat Linux 的机器上运行的。
第一个脚本work.pl 基本上调用了magicplate.pl 传递一些参数和文件名,以供magicplate.pl 处理。Magic Plate 处理每张图像大约需要一分钟。因为 work.pl 执行相同的功能超过 100 次,并且因为系统有多个处理器和内核,所以我正在考虑将任务拆分,以便它可以并行运行多次。如有必要,我可以将图像拆分到不同的文件夹。任何帮助都会很棒。谢谢
这是我到目前为止所拥有的:
use strict;
use warnings;
my @initialImages = <*>;
foreach my $file (@initialImages) {
if($file =~ /.png/){
print "processing $file...\n";
my @tmp=split(/\./,$file);
my $name="";
for(my $i=0;$i<(@tmp-1);$i++) {
if($name eq "") { $name = $tmp[$i]; } else { $name=$name.".".$tmp[$i];}
}
my $exten=$tmp[(@tmp-1)];
my $orig=$name.".".$exten;
system("perl magicPlate.pl -i ".$orig." -min 4 -max 160 -d 1");
}
}