The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Подскажите с чего начать скрипт на Перл."
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Подскажите с чего начать скрипт на Перл."
Сообщение от СергейКа emailИскать по авторуВ закладки on 05-Мрт-03, 12:34  (MSK)
Задача в следующем: Необходимо запрашивать страничку в интернете с курсом поставщика, затем сравниваем с курсом, сохраненным в файле, если курс изменился более чем на 1% отправляем письмо c bpvtytybtv на info@myserver.ru

как работать с файлами знаю, не знаю как запросить страничку с интернета  и отправить потом письмо.

Зарание спасибо

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "RE: Подскажите с чего начать скрипт на Перл."
Сообщение от СергейКа emailИскать по авторуВ закладки on 05-Мрт-03, 13:51  (MSK)
>Задача в следующем: Необходимо запрашивать страничку в интернете с курсом поставщика, затем
>сравниваем с курсом, сохраненным в файле, если курс изменился более чем
>на 1% отправляем письмо c bpvtytybtv на info@myserver.ru
>
>как работать с файлами знаю, не знаю как запросить страничку с интернета
> и отправить потом письмо.
>
>Зарание спасибо
С отправкой разобрался
#!/usr/bin/perl
open(MAIL, '| /usr/libexec/sendmail/sendmail sss@myserver.ru</usr/home/sss/111');


  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "RE: Подскажите с чего начать скрипт на Перл."
Сообщение от uldus Искать по авторуВ закладки on 06-Мрт-03, 10:03  (MSK)
>Задача в следующем: Необходимо запрашивать страничку в интернете с курсом поставщика,  

perldoc LWP, если нет скачай с http://cpan.org

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "RE: Подскажите с чего начать скрипт на Перл."
Сообщение от noname Искать по авторуВ закладки on 07-Мрт-03, 19:28  (MSK)
http://www.perl.com/pub/a/2003/01/22/mechanize.html
  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Написал."
Сообщение от СергейКа emailИскать по авторуВ закладки on 11-Мрт-03, 18:08  (MSK)
Может кому пригодится вот такой скрипт:

#!/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);
}

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру