データベースからURLを取得し、file :: fetch()を実行するスクリプトを実行しています。私の理解では、file :: fetch()は、ダウンロードするURLに実際にファイルがある場合にのみ機能します。
ただし、私のデータベースには、フェッチするファイルがないURLがときどきあります。それで、file :: fetch()を実行しようとしているURLにファイルがあることを確認するために使用できるモジュールはありますか?
スクリプトに行があります
my $uri_handle = File::Fetch->new(uri => $url);
http://asiaone.com
ここで、$ urlは、実際にフェッチされるファイルがないようなものである可能性があります。
そして、このエラーが発生します。これは、フェッチするファイルがほとんど含まれている他のURLがあるため、必死に回避しようとしています。
Use of uninitialized value $path in pattern match (m//) at C:/Perl/lib/File/Spec/Unix.pm line 267.
Use of uninitialized value in string eq at C:/Perl/lib/File/Fetch.pm line 395.
Hostname required when fetching from 'http' at C:\test\multihashtest2.pl line 100 thread 2
正規表現をフォーマットしてファイルをチェックするにはどうすればよいですか、またはこれを容易にするために使用できるモジュールはありますか?
正当なURLは次のようになります
http://the.earth.li/~sgtatham/putty/latest/x86/puttytel.exe