я в настоящее время есть некоторый код, который возвращает сайты заголовок содержание назад:Multiple строка синтаксического анализа в цикле
#!/usr/bin/perl
use strict;
require IO::Socket;
my @header;
my $host = shift;
my $socket = new IO::Socket::INET(
PeerAddr => $host,
PeerPort => 80,
Proto => 'tcp') || die "Could not Connect $!\n";
print "Connected.\n";
print "Getting Header\n";
print $socket "GET/HTTP/1.0\n\n";
my $i = 0;
while (<$socket>) {
@header[$i] = $_;
$i++;
}
$i = 0;
print "--------------------------------------\n";
while ($i <= 8) {
print "@header[$i++]";
}
print "-------------------------------------\n";
print "Finished $host\n";
То, что я хотел бы сделать, это, чтобы иметь возможность читать из файла с открытым (FILE, "< ', сдвиг); а затем каждый IP в файле, чтобы перейти в цикл получения заголовка, что избавляет меня от ручного выполнения по одному.
Что я имею в виду, это иметь файл, содержащий (пример ips): 1.1.1.1 2.2.2.2 на каждой строке, а затем синтаксический анализ всех из них через функцию заголовка get.
Вы должны действительно добавить 'использовать предупреждения и убирать все предупреждения, которые вы получите, когда вы снова запустите свой код. Выполнение таких вещей, как '@header [$ i] = $ _', вероятно, не то, что вы хотите сделать. – CanSpice
Просто указать, что существует тонкая ошибка с созданием $ socket с использованием '||', как описано @Ilmari Karonen здесь http://stackoverflow.com/a/9221648/1190901 – tangent