Пользовался я примерно год скриптом вкачивания обновления для НОД32, все было ОК, не имел проблем

Вот код скрипта
Код: Выделить всё
#!/usr/bin/perl
use LWP;
# path to store updates
$PATH="/var/www/NOD32";
$WGET="/usr/local/bin/wget"; # Путь к программе wget
# username/password for updates registered users
$LOGIN='EAV-28278372 ';
$PASS='vhrsxb487b';
# URL for updates
$URL_UPD="http://u27.eset.com/";
$URL_UPD =~ s/\/$//;
$URL_UPD =~ m/(.*:\/\/)(.*?)(\/.*)/;
$site = "$1$2";
if ($site =~ m//) {
print "Enter correct URL\n";
return;
}
unlink("$PATH/update.ver","$PATH/update.tmp");
download($PATH,"$URL_UPD/eset_upd/update.ver",$LOGIN,$PASS);
`/usr/local/bin/unrar e -y $PATH/update.ver $PATH 2> /dev/null`;
rename("$PATH/update.ver","$PATH/update.tmp");
$ver = "$PATH/update.tmp";
$vers = "$PATH/update.ver";
open(VER, "< $ver") or die "Couldn't open $ver for reading: $!\n";
open(VERS, "> $vers") or die "Couldn't open $vers for writing: $!\n";
%files = ();
%urls = ();
while (defined($line = <VER>) )
{
chomp $line;
($par,$val)=split /=/, $line;
$val = substr($val, 0, -1);
if ($par =~ /file/ )
{
$name = '/'.$val;
$name =~s/\/.*\///;
$furl="$URL_UPD/$val";
$line="file=$name";
}
if ($par =~/size/ )
{
$size = $val;
$files{$name} = $size;
$urls{$name} = "$furl";
}
print VERS "$line\r\n";
}
print "\n";
close(VER);
close(VERS);
foreach $f (keys %files) {
if ((-s "$PATH/$f") != $files{$f}){
# $size = (-s "$PATH/$f");
# print "Not present --> $PATH/$f\t$f\t$files{$f} ---> $size\n";
unlink("$PATH/$f");
download($PATH,$urls{$f},$LOGIN,$PASS);
} else { #print " Present --> $PATH/$f\t$f\t$files{$f}\n";
}
}
chmod(0644,"$PATH/*");
sub download()
{
my ($path, $url, $login, $pass) = @_;
system("$WGET -P $path --http-user=$login --http-password=$pass $url");
}
Пошел в Инет, вычитал статью от "Лиса"
http://www.lissyara.su/articles/freebsd ... 32_mirror/
Попробовал .. сделал все как написано, запустил получил в ответ :
Код: Выделить всё
unix# /usr/local/etc/nod/upd.pl
Can't load '/usr/local/lib/perl5/site_perl/5.8.9/mach/auto/MIME/Base64/Base64.so' for module MIME::Base64: /usr/local/lib/perl5/site_perl/5.8.9/mach/auto/MIME/Base64/Base64.so: Undefined symbol "PL_dowarn" at /usr/local/lib/perl5/5.8.9/mach/XSLoader.pm line 70.
at /usr/local/lib/perl5/site_perl/5.8.9/mach/MIME/Base64.pm line 15
Compilation failed in require at /usr/local/etc/nod/lib/HTTP/Headers.pm line 334.
Код: Выделить всё
unix# cat /usr/local/etc/nod/nod32.log
05-04-2010 12:53:47 Can't open authfile nod32.auth
Может есть новый какой то скрипт что бы обновить тритию версию и четвертую !
Заранее спасибо.