wul*_*pro 3 perl byte image file
我的Perl经验非常少.
我需要读取二进制图像并将其传递给Image::ExifTool模块.
这是我的代码:
use Image::ExifTool;
my $exifTool = new Image::ExifTool;
open(IMAGE, $file) || die "Can't Open $file\n";
binmode(IMAGE);
my ($buf, $data, $n);
while (($n = read FILE, $data, 4) != 0) {
$buf .= $data;
}
#'.=' is concat
print $file .= " test";
$infob = $exifTool->ImageInfo(\$buf);
foreach ( keys %$infob ) {
print "$_ => $$infob{$_}\n";
}
close(IMAGE);
Run Code Online (Sandbox Code Playgroud)
据我所知,上面的代码读入了参考文件,并在二进制数据的字节级别附加$buf.
根据ExifTool文档,您可以将内存引用作为标量var传递给ImageInfo方法 - 这在上面完成.
执行时,Image :: ExifTool模块会吐出以下内容:
Error => Unknown file type
Run Code Online (Sandbox Code Playgroud)
use Image::ExifTool;
my $exifTool = new Image::ExifTool;
open( my $IMAGE, $filename ) || die "Can't Open $filename\n";
binmode($IMAGE);
$infob = $exifTool->ImageInfo($IMAGE);
foreach ( keys %$infob ) {
print "$_ => $$infob{$_}\n";
}
close($IMAGE);
Run Code Online (Sandbox Code Playgroud)