Всем добрый день.Помогите разобрать с куском кода, так как с перлом не имел дела вообще...
Немного истории:
- задача программы - просматривать какие программы и пакеты установлены в сети на серверах и ПК, потом скачивание новостей по безопасности из инета -> сравнивает установленные пакеты и какие баги и в чём нашли, если есть совпадения, то извещает админа о них.
Так вот интересующая часть программы - это как раз то место, где идёт сравнение установленных программ и багов. Я не могу понять, куда она записывает результат. В мануале вроде написано, что она извещает администратора, но как она это делает - найти этот момент я не смог.
Вопросы:
1) куда результат сравнения сейчас записывается?
2) можно ли изменить код, что б она записывала результат сравнения в файл?
Часть кода, отвечающая за сравнение (на сколько я понял):
#
# matches software against feed items
#
sub match {
my( $package, $version, $item ) = @_;
return 0 unless ( $package and $version and $item );
return 0 unless $item =~ /[\s\-\_\.\!\:]\Q$package\E[\s\-\_\.\!\:]/i;
#
# kill buzzwords to minimize false positives
#
my $filter = '\s(?:access|ready|protocol|version|release|root|account
|connect|server|client|microsoft|windows|win32|gpl
|(?:open|free|net|mir|dragonfly|desktop)\-?bsd|free
|suse|debian|gentoo|ubuntu|redhat|slackware|admin
|unix|fedora|hp-ux|solaris|irix|linux|administrator
|xss|ajax|cross.?site.?scripting)\s';
$item =~ s/$filter//xigo unless " $package $version " =~ /$filter/xigo;
return 1 if $Conf{'paranoid'};
my $count = 3;
$count++ if $version =~ /.{1,4}\./o;
$version = substr $version, 0, $count;
return 0 unless $item =~ /\Q$version\E/i;
return 1;
}