Я хочу изменить сценарий Perl, чтобы сохранить результат в текстовом файле output.txt и открыть результаты output.txt, когда задача будет выполнена.
Я пытался использовать «использовать строгий; использовать предупреждения;»и другие методы, но я продолжаю получать сообщения об ошибках «Последняя ошибка была« Не удалось открыть output.txt »
#!/usr/bin/perl
use HTTP::Request;
use LWP::UserAgent;
system('cls');
system "color c";
print"\n";
print" |||||||||||||||||Robots scanner|||||||||||||||||||||";
print "\n";
print " Scan Your site Site\n\n Example: www.test.com \n\n-> ";
$site=<STDIN>;
chomp $site;
if($site !~ /http:\/\//) { $site = "http://$site/"; };
print "\n";
@path = ('robotx.txt','robots.txt','robot.txt','search',);
foreach $robots(@path){
$url = $site.$robots;
$req = HTTP::Request->new(GET=>$url);
$useragent = LWP::UserAgent->new();
$response = $useragent->request($req);
my $filename = 'report.txt';
open(my $fh, '>', $filename) or die "Could not open file '$filename' $!";
if ($response->is_success){
print ">>>>>>Robots Found !!!>>>: $url\n";
print $fh "out put has been generated by perl\n"; # THIS DOESN'T WORK THE report.txt is empty
print "done\n";
}else{
print "NotFound : $robots\n";
print "done\n";
# I want to open the file from windows explorer automatically here when its done
close $fh;
}
}
после запуска cmd от имени администратора, как вы видите, файл report.txt показывает пустой Iожидайте увидеть результат ответа
Я также хочу, чтобы perl открывал report.txt (не заходя в Windows Explorer и не открывая его вручную пользователем). Я хочу, чтобы он автоматически открывался, когда все готово, но я не былне в состоянии достичь этого.
Спасибо!