Perl File::Fetch失败,因为URL不存在';我没有文件部分

Perl File::Fetch失败,因为URL不存在';我没有文件部分,perl,download,Perl,Download,我正在运行一个脚本,该脚本从数据库中提取URL并执行file::fetch()。据我所知,file::fetch()仅在URL中确实存在要下载的文件时才起作用 但是,在我的数据库中,偶尔会有一个URL,其中没有要获取的文件。那么,我是否可以使用任何模块来检查URL中是否存在我试图执行的文件::fetch() 我的剧本里有一行 my $uri_handle = File::Fetch->new(uri => $url); 其中$url可能类似于http://asiaone.com没有

我正在运行一个脚本,该脚本从数据库中提取URL并执行file::fetch()。据我所知,file::fetch()仅在URL中确实存在要下载的文件时才起作用

但是,在我的数据库中,偶尔会有一个URL,其中没有要获取的文件。那么,我是否可以使用任何模块来检查URL中是否存在我试图执行的文件::fetch()

我的剧本里有一行

my $uri_handle = File::Fetch->new(uri => $url);
其中$url可能类似于
http://asiaone.com
没有实际提取的文件

我得到了这个错误,我正在拼命地避免,因为还有其他的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
从中有此标志,您可以将其设置为
false
,以消除错误:

此变量控制用户是否在内部遇到错误 文件::Fetch是否应为carp

设置为false可使警告静音。检查错误()的输出 方法来查看出现了什么问题

默认为true


有效url的外观如何?如何将该选项应用于false?请尝试使用
$File::Fetch::WARN=0应用该行代码后,仍然会出现相同的错误。从C:\test\multihashtest2.pl第100行的“http”获取时,它仅从输出中删除所需的
主机名。声明未初始化值的其他两个错误仍然存在。请尝试在fetch周围添加一个
eval{}
,如
my$uri\u句柄;eval{$uri_handle=File::Fetch->new(uri=>$url);}
。这将消除所有错误:)