Приветствую, есть код
#!/usr/bin/perl -w
open(IP,"<ip.log") or die "Openning file: " . $!;
@ip=<IP>;
chomp(@ip);
close(IP);
open(LP,"<login_pass.log") or die "Openning file: " . $!;
@lp=<LP>;
chomp(@lp);
close(LP);
for $lp(@lp)
{
for $ip(@ip)
{
if ($lp =~ /$ip/) { push (@dat, $lp)}
}
}
open (F, ">> good.log");
print F join( "\n", @dat );
Что он делает, а он сравнивает в файле login_pass строку с ip, если находит соотв, то добавляет ее в массив и потом пишет весь массив в файл. Так вот, при размерах файла ip примерно в 5к строк, скрипт отрабатывает порядка 10 минут. Нельзя ли как-то ускорить его работу, какие будут идеи?