Я использую Net :: Whois :: Raw для запроса списка доменов из текстового файла, а затем проанализируйте это, чтобы вывести соответствующую информацию для каждого домена.Perl: шаблон соответствует строке, а затем печатать следующую строку/строки
Все прошло хорошо, пока я не ударил результаты Nominet, поскольку требуемая информация никогда не находится на той же линии, что и я, соответствующий шаблону.
Например:
серверы Имя:
ns.mistral.co.uk 195.184.229.229
Так что мне нужно сделать, это сопоставление с образцом для «Имя сервера:», а затем дисплей следующую строку или строки, но я просто не могу это сделать.
Я прочитал все ответы здесь, но они либо не работают в моем случае, либо меня путают еще дальше, так как я простой медведь.
код я использую выглядит следующим образом:
while ($record = <DOMAINS>) {
$domaininfo = whois($record);
if ($domaininfo=~ m/Name servers:(.*?)\n/){
print "Nameserver: $1\n";
}
}
Я попытался пример Stackoverflow где
<DOMAINS>;
будет принимать следующую строку, но это не работает для меня, и я предположим, это потому, что мы уже прочитали его содержимое в домене $ domaininfo.
EDIT: Забыл сказать спасибо! как грубо.
Вы можете совпадение на '\ n' без'/m'; флаг '/ m' * * влияет только на' '' '' '' '' '' ''. – ysth
Опять же позвольте мне извиниться за то, что вы не ответили ранее. Работа/м. Я использовал его много раз до этого, но забыл об этом, что довольно скупо из меня ;-) –