良い一日!このスクリプトを実行すると:
#!/usr/bin/perl
use strict;
use warnings;
use Image::EXIF;
my $exif = new Image::EXIF($ARGV[0] || 'image3.jpg');
警告を表示しました (警告はすべての写真ではありません。):
(null): 不明な TIFF フィールド タイプ。捨てる (不明)
この警告を抑制することは可能ですか?
そのモジュールのソース コードを見ると、XS ネイティブ部分があり、呼び出される c 関数は次のようになります (ファイル「exifutil.c」で):
void exifwarn2(const char *msg1, const char *msg2)
{
fprintf(stderr, "%s: %s (%s)\n", progname, msg1, msg2);
}
ご覧のとおり、STDERR に出力されるため、Image::EXIF コンストラクターを呼び出す前に STDERR を適切に処理できます。このSOの質問が役立つ場合があります。