Задача:
Нужно проверить лог-файл на предмет наличия в нём адресов, совпадающих с адресами в фале-шаблоне.
формат лог-файла (tempresult):
192.168.0.17 http://teenshells.com/br.js
192.168.0.32 http://www.rsex.ru/modules.php?
...
Формат файла шаблона (urls):
teenshells.com
0-0adultvideo.com
0-anal.dk
...
Я навоял следующее (пока без оптимизации, я тока учусь...):
#!/usr/bin/perl
# Загоняем файл в массив
open (rejik, "urls") || die "Can't read file $!...";
@shablon = (<rejik>);
close (rejik);
open (temp, "tempresult") || die "Can't write file $!...";
while(<temp>)
{
($ipaddress, $httpaddress) = split(' ');
print "\tТестируемый адрес - $httpaddress\n";
for ($i=0;;$i++)
{
print "Сравниваем $httpaddress с шаблоном @shablon[$i]";
if ($httpaddress =~ /@shablon[$i]/)
{
print "\t$ipaddress\t $httpaddress совпадает с @shablon[$i]\n";
}
}
}
close(temp);
Так вот условие "if ($httpaddress =~ /@shablon[$i]/)" не работает...
Судя по-всему загвоздка в синтаксисе...