Forum Webscript.Ru
Программирование => Perl => Тема начата: koliama от 27 Августа 2004, 17:57:58
-
Система freebsd, модуль cgi.pm - через него формируется страница, которая выводит результаты sql запроса в броузере... потребовалось сохранить эту страницу на диске. Подскажите как это можно сделать...?
-
File->save page as
-
уважаемый neonox - а можно поподробнее.. мне непонятен именно сам механизм - по идее ведь эта страница хранится в памяти? или я ошибаюсь...?
вообщем мне ваш ответ непонятен :(
-
Уважаемый koliama, результат работы скрипта выводится в ваш броузер. Сохранить страницу можно нажав File в меню и выбрав из выпадающего меню save page as.
вообщем, каким боком ваш вопрос относится к perl мне не понятно.
-
гм.. может я непонятно выразился. Требуется сохранить эту страницу на диске в html формате с помощью скрипта (т. е. в этом же скрипте вставить кусок кода, который бы выполнял данную операцию). так понятнее?
-
Т.е. нужно вывести и на экран в браузер, и в файл?
Так в чём проблема, распечатай страницу два раза, один раз в файл, один раз в STDOUT|браузер и все.
&print_html;
open (TOFILE, "> c:/test.html");
select TOFILE;
&print_html;
select STDOUT;
close(TOFILE);
sub print_html {
print "\\n";
print " \\n";
print " Lala\\n";
print " \\n";
print " \\n";
print " TEST
\\n";
print " \\n";
print "\\n";
}
-
День добрый Влад. Ты как всегда выручаешь :)
А что означает select? (наверно глупый вопрос)
-
perldoc -f select
-
действительно глупый :)
-
Влад, еще вопрос по ходу возник... могу я вывод этой процедуры
print_html приаттачить в тело почтового сообщения напрямую, а не файлом, который я сохраняю?
-
koliama:
могу я вывод этой процедуры
print_html приаттачить в тело почтового сообщения напрямую, а не файлом, который я сохраняю?
Ясное дело.
Можно вывод этой процедуры закатать, например в массив, типа
my @web_page = &print_html;
тем самым избавиться от всяких "селектов". А что делать дальше, можно посмотреть тут (http://www.perl.ru/go.cgi?action=forum&board=relis&op=display&num=3590) массив @tmpl это и будет твой @web_page.
-
Я хочу из скрипта передать почтовое сообщение постфиксу для отправки..
Что то вроде этого
sub send_mail
{
delete @ENV{qw(IFS CDPATH ENV BASH_ENV)};
my $path = $ENV{\'PATH\'} = \'/usr/local/sbin\'
my($to, $from, $subject, @body) = @_;
my $postfix = "/usr/local/sbin/postfix"
open(MAIL, "|$postfix") || die "Error! Coud\'t open postfix";
print MAIL< From: $from
To: $to
Subject: $subject
END_HEADER
foreach (@body)
{
print MAIL "$_\\n";
}
close(MAIL);
}
Так получиться?
-
vladsu
Ты в асе появляешься?
-
koliama
Вот пристал к человеку...
open(MAIL, "|$postfix") || die "Error! Coud\'t open postfix";
позапрошлый век...
хотябы это...
perldoc MIME::Lite
дальше так:
...................
........................
my $msg = MIME::Lite->new(
To =>$mail,
Subject =>\'\',
Type =>\'multipart/related\'
);
$msg->attach(Type => \'text/html\',
Data => qq{
@body
}
);
$msg->send();