同時在URL的數據庫上執行file :: fetch操作時,某些URL僅包含頂級域名,例如http://google.com。我如何構建我的,如果檢查,這樣它將驗證是否有一個文件來獲取,所以當我創建一個新的文件::取回對象,它難道不把我這個錯誤:Perl檢查是否存在要提取的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.
這裏是一個我的代碼片段,我試圖做一些驗證
my $uri_handle = File::Fetch->new(uri => $url);
my $getfile = $uri_handle ->file;
if ($getfile){
my $dir_handle = $uri_handle->fetch(to => $dir) or die "Couldn't fetch file: $uri_handle->error\n";
#print "[ID:$myid] File fetch completed!\n\n";
}else{
print "[ID:$myid] There is no file to be fetched from $url\n\n";
}
但文件方法也失敗,因爲它無法檢索URL的文件名。
Thread 1 terminated abnormally: Can't call method "file" on an undefined value at C:\test\multihashtest2.pl line 102.
如果檢查怎麼辦? – mob
是否有一個函數或模塊來幫助我驗證是否有URL指向要提取的文件。假設我可以使用這樣的函數來進行驗證檢查,然後再創建對象,以便file :: fetch不會失敗 –
很高興看到一些代碼,而不僅僅是錯誤。新方法應該在失敗時返回false。無論如何,您可以使用Try :: Tiny或將其包裝在一個評估中。 –