我正在运行一个脚本,该脚本从数据库中提取URL并执行file :: fetch()。根据我的理解,file :: fetch()仅在要下载的URL中存在文件时才有效。
但是,在我的数据库中,偶尔会有一个URL,其中没有要提取的文件。那么,是否有任何模块可用于检查URL中是否有文件我试图执行文件:: fetch()?
我的剧本中有一行
my $uri_handle = File::Fetch->new(uri => $url);
其中$ url可能类似于http://asiaone.com
而没有实际提取的文件。
我收到此错误,我拼命想避免,因为还有其他网址主要包含要提取的文件。
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
如何格式化我的正则表达式以检查文件,或者是否有可用于促进此操作的模块?
合法网址如下所示
http://the.earth.li/~sgtatham/putty/latest/x86/puttytel.exe
答案 0 :(得分:3)
在manual of File::Fetch,有一个标记$File::Fetch::WARN,您可以将其设置为false
以消除错误:
此变量控制内部遇到的错误 File :: Fetch应该是carp'd还是。
设置为false以消除警告。检查错误的输出() 方法手动查看出了什么问题。
默认为true。