use Net::FTP; # используем модуль работы с FTP
my $server = 'ftp.server.org'; # имя или адрес сервера
my $file = 'file.name'; # имя файла
my $ftp = Net::FTP->new($server) # соединяемся с сервером
or die "Ошибка соединения с $server:$@";
$ftp->login('ftp','ftp') # указываем имя и пароль
or die " Ошибка регистрации:", $ftp->message;
$ftp->cwd("/pub") # переходим в каталог
or die "Ошибка смены каталога:", $ftp->message;
my $time_ftp = $ftp->mdtm($file) # время изменения на сервере
or die;
my $time_old = (stat($file))[9]; # время создания копии
if ($time_ftp > $time_old) { # если файл на сервере новее,
$ftp->binary; # то в двоичном режиме
$ftp->get($file) # загружаем файл
or die "Ошибка загрузки: ", $ftp->message;
utime($time_ftp, $time_ftp, $file); # и меняем время файла
}
$ftp->quit; # заканчиваем сеанс связи
Поскольку в классе
Электронная почта (e-mail) была и остается одним из самых популярных сетевых сервисов. Электронная почта базируется на асинхронной доставке почтового сообщения (message) с одного почтового сервера на другой с помощью протокола SMTP (Simple Mail Transfer Protocol). Почтовые сообщения каждого пользователя хранятся на сервере в отдельном почтовом ящике (mail-box). Клиентская почтовая программа (Mail User Agent, MUA) забирает почту с сервера с помощью одной из версий протокола POP (Post-Office Protocol) или предоставляет пользователю непосредственный доступ к ящику на почтовом сервере с помощью протокола IMAP (Internet Mail Access Protocol).
Естественно, что в Perl имеется множество средств работы с электронной почтой. По электронной почте можно организовать автоматическое уведомление системных администраторов или пользователей о наступлении определенного события. С помощью сообщений электронной почты организуется регулярная автоматическая рассылка информации, например, счетов клиентам. При работе с почтой можно воспользоваться стандартными модулями -
use Net::SMTP; # используем класс для отправки e-mail
my $mail_server = 'shokhirev.com'; # почтовый сервер
my $to_user = 'mikhail@shokhirev.com'; # получатель
my $from_user = 'mshock@shadrinsk.net'; # отправитель
$smtp = Net::SMTP->new(Host=>$mail_server);# соединяюсь
$smtp->mail($from_user); # пишу
$smtp->to($to_user); # получателю
$smtp->data(); # письмо
$smtp->datasend("To: $to_user\n"); #
$smtp->datasend("Subject: Lectures on Perl 5\n");
$smtp->datasend("\n");
$smtp->datasend("Сообщаем о публикации на intuit.ru\n");
$smtp->datasend("курса лекций по Perl 5\n");
$smtp->dataend(); # заканчиваю
$smtp->quit; # отсоединяюсь
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии