О себе События Портфолио Статьи Гостевая Фотоальбом На злобу дня Ссылки Учеба Программы
Alex_K (г.Киров) - Алексей Кощеев
Хостинг и регистрация доменов в Кирове

Интересные решения Perl. Вопросы и ответы

Вызов внешней программы из скрипта?

В Perl существует возможность выполнить внешнюю программу несколькими способами:

1. system("perl /path/to/another/script") или system("chmod 0644 /some/file")

2. поместить вызов в обратные кавычки:

my $cmd = 'ls -l';
my $result = `$cmd`;
# переменная $result содержит выход команды, указанной в переменной $cmd

3. Открыть программу как конвейер. Типичный пример - отправка письма через sendmail

my $sndMailPath = '/usr/sbin/sendmail';
my $from       = 'alex@fanshop.ru';
my $to          = 'some@host.tld';
my $subject   = 'Just a test';
my $message = 'Hello, Friend!
This is a test message';

open (SENDMAIL, "|$sndMailPath -f $from -t");
print SENDMAIL "To: $to\n";
print SENDMAIL "From: $from\n";
print SENDMAIL "Subject: $subject\n";
print SENDMAIL "Content-Type: text/plain; charset=windows-1251\n\n";
print SENDMAIL "$message\n";
close (SENDMAIL);

Если | указан перед путем к программе, то это означает, что она открывается для печати в нее.

Если же | стоит в конце вызываемой программы, то конвейер открывается для чтения нами.

Опубликовано: 23 октября 2005 года.

Далее: Где звять дистрибутив Perl под Windows?
Предыдущий вопрос:Аналог функции print_r() языка PHP
Перейти к списку вопросов
Fanshop.ru

Рейтинг@Mail.ru

Rambler's Top100

© Алексей Кощеев, г.Киров, 2001-2017 хостинг предоставлен компанией Айхэд