File::Fetchモジュールを使用してダウンロードしたファイルのハッシュを作成しようとしています。ダウンロードしたファイル名とそのハッシュをデータベースにレコードとして保存しようとしています。ただし、File::Fetchオブジェクトのどのメソッドもダウンロードされたファイルを提供しません。ファイルのハッシュを作成するためにファイルを変数にダウンロードする方法はありますか?
これが私のコードの抜粋です、
eval{
$uri_handle = File::Fetch->new(uri => $nurl) or die "Could'nt create fetch object\n";
$getfile = $uri_handle ->output_file or die "There is no file to be fetched\n";
my $dir_handle = $uri_handle->fetch( to => $dir2 ) or die "Couldn't fetch file: $uri_handle->error\n";
# print "$getfile was successfully saved to $dir\n";
};
if ($@){
print "\n There is no file at $url\n\n";
}else{
my $file_data_handle = DBI->connect($database_connection_string,$database_user,$database_pass) or die "Couldn't open database: $DBI::errstr\n";
my $file_statement_handle = $file_data_handle->prepare('insert into files (filename,filehash,sourceurl,originalurl) VALUES ($getfile,$filehash,$nurl,$url)') or die "Couldn't prepare statement: $DBI::errstr\n";
$file_statement_handle->execute() or die "Couldn't execute statement: $DBI::errstr\n";
$file_data_handle->disconnect();
}