Я делаю простой Perl-скрипт, который проверяет, если url вверх, вы можете проверить веб-сайты через txt-файл. Поэтому мой текстовый файл - list.txt, а в первой строке он содержит https://google.com. Это довольно простой скрипт, но когда я пытаюсь запустить, он дает мне эту ошибку? Undefined subroutine &main::head called at test.pl line 7.
И вот код сценария.Perl noob, undefined подпрограмма?
#!/usr/bin/perl
use LWP::UserAgent;
system(($^O eq 'MSWin32') ? 'cls' :'clear');
head();
my $usage = " \nperl $0 <list.txt>\n perl $0 lista.txt";
die "$usage" unless $ARGV[0];
open(tarrget,"<$ARGV[0]") or die "$!";
while(<tarrget>){
chomp($_);
$target = $_;
my $path = "/";
print "\nTarget --> $target\n";
my $ua = LWP::UserAgent->new(ssl_opts => { verify_hostname => 0 });
$ua->timeout(10);
$ua->agent("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.63 Safari/537.31");
my $req = $ua->get("$target/$path");
if($req->is_success) {
print "\n [!] Yay website works! \n \n"; } }
Как заставить этот скрипт работать?
Вы вызываете функцию 'head', для которой вы не указали определение. Чего вы ожидаете? –
Что должен делать 'head()'? Где это определено? – friedo
Вы написали слишком много кода, не тестируя его. В Perl, как и на любом языке, вы должны написать максимум две или три строки перед тестированием и писать больше, когда знаете, что у вас есть прочный фундамент. – Borodin