我究竟做错了什么?我尝试了很多东西,但似乎无法从这个文件中读取.谢谢!
my $d = 'URLs.txt';
open(my $fh, '<:encoding(UTF-8)', $d)
#opendir(D, "$d") || die "Can't open directory $d: $!\n";
or die "Can't open directory $d: $!\n";
my @list = readdir($fh);
closedir($fh);
foreach my $f (@list) {
my $json_data = get "$f";
my $json_obj = new JSON;
my $URLdata = $json_obj->decode($json_data);
return $URLdata->{'status'} eq 'UP';
}
Run Code Online (Sandbox Code Playgroud)
URLs.txt
似乎是一个文件,而不是一个目录
要打开文件,请写入
open my $fh, '<', $filename or die $!;
Run Code Online (Sandbox Code Playgroud)
并从中读取
while ( my $line = <$fh> ) { ... }
Run Code Online (Sandbox Code Playgroud)
要打开目录,请写入
opendir my $dh, $dirname or die $!;
Run Code Online (Sandbox Code Playgroud)
并阅读其内容
while ( my $item = readdir $dh ) { ... }
Run Code Online (Sandbox Code Playgroud)
如果你有use strict
和use warnings 'all'
到位,你应该在每一个Perl程序你写,你会看到
readdir()尝试对无效的dirhandle $ fh
closedir()尝试对无效的dirhandle $ fh
哪会引导你解决问题
根据您想要做的事情,您可能会更好地使用其他功能