Может кому пригодится вот такой скрипт:
#!/usr/bin/perl
use Socket;
# подготавливаем строчку с параметрами формы
$forminfo = 'param1=val1¶m2=val2';
# подготавливаем и осуществляем соединение:
# выбираем работу через TCP
$proto = getprotobyname('tcp');
# открываем потоковый сокет
socket(Socket_Handle, PF_INET, SOCK_STREAM, $proto);
# подготавливаем информацию о сервере
$port = 80;
$host = "www.autopiter.ru";
$sin = sockaddr_in($port,inet_aton($host));
# соединяемся с сервером
connect(Socket_Handle,$sin) || die ("Cannot connect");
# передаем серверу команды, используя дескриптор сокета
# собственно команда GET
send Socket_Handle,"GET /about.asp HTTP/1.0\n",0;
# HTTP-заголовки
send Socket_Handle,"User-Agent: my agent\n",0;
send Socket_Handle,"SomeHeader: my header\n",0;
send Socket_Handle,"\n",0;
# начинаем чтение из дескриптора сокета аналогично
# тому, как читали из файла.
@mass=(<Socket_Handle>);
close (Socket_Handle);
$n=$#mass;
$s=0;
while ($s != $n) {
if ($mass[$s]=~ m/EUR/) {
$mass[$s]=~ s%<[^>]+>%%g;
$mass[$s]=~ s%\s+% %g;
@mmm=split / /, $mass[$s];
}
$s=$s+1;
}
$n=$#mmm;
$s=0;
while ($s != $n) {
if ($mmm[$s]=~ m/EUR/) {
$euro=$mmm[$s+1];
$euro=~ s%\,%.%;
}
if ($mmm[$s]=~ m/USD/) {
$usd=$mmm[$s+1];
$usd=~ s%\,%.%;
}
if ($mmm[$s]=~ m/РУБ/) {
$rub=$mmm[$s+1];
$rub=~ s%\,%.%;
}
$s=$s+1;
}
open(K,"kurs.piter");
@kp=<K>;
close(K);
$oldeuro=$kp[1];
$oldusd=$kp[2];
$oldrub=$kp[3];
if (($rub/$euro)/($oldrub/$oldeuro)>1.01) {
open(Z,">kurs.piter");
print Z "Внимание компания ПИТЕР+ изменила курс. Замените курс в программе прайсы, (формат EURO, USD, РУБ)\n";
print Z "$euro\n";
print Z "$usd\n";
print Z "$rub\n";
close(Z);
open (SENDMAIL, "|/usr/sbin/sendmail -t") || die "ERROR: Can not run sendmail";
print SENDMAIL "MIME-Version: 1.0\n";
print SENDMAIL "To: info,webmin,director\n";
print SENDMAIL "Subject: PITER+, Izmenenie kursa\n\n";
print SENDMAIL "Внимание компания ПИТЕР+ изменила курс. Замените курс в программе прайсы\n",
"Евро стал $euro\n",
"Бакс стал $usd\n",
"Рубль стал $rub\n";
close (SENDMAIL);
}