Добрый день, я в Perl даже не ноль, а минус
Ворпос: как зазвать програмку из perl. Трюк в том что програмка берет command-line arguments, читает input из stdin, и пишет output в stdout.
Один вариант: написать input в file, а потом зазвать $out = `hello < $infile`;
A mozhno li bez темпорары fajlov?
spasibo,
denis
Perl: запустить програмку из скрипта и дать STDIN и STDOUT
-
- Уже с Приветом
- Posts: 2506
- Joined: 13 Jan 2003 22:34
- Location: Kiev :: Los Angeles, CA
-
- Уже с Приветом
- Posts: 10367
- Joined: 12 Apr 2001 09:01
- Location: Lithuania/UK
Re: Perl: запустить програмку из скрипта и дать STDIN и STDO
theukrainian wrote:Добрый день, я в Perl даже не ноль, а минус
Ворпос: как зазвать програмку из perl. Трюк в том что програмка берет command-line arguments, читает input из stdin, и пишет output в stdout.
Один вариант: написать input в file, а потом зазвать $out = `hello < $infile`;
A mozhno li bez темпорары fajlov?
spasibo,
denis
$pid = open(WRITEME, "| program args");
print WRITEME "hello\n"; # program will get hello\n on STDIN
close(WRITEME); # program will get EOF on STDIN
Дальше, все будет только хуже. Оптимист.
-
- Уже с Приветом
- Posts: 10367
- Joined: 12 Apr 2001 09:01
- Location: Lithuania/UK
Re: Perl: запустить програмку из скрипта и дать STDIN и STDO
theukrainian wrote:Добрый день, я в Perl даже не ноль, а минус
Ворпос: как зазвать програмку из perl. Трюк в том что програмка берет command-line arguments, читает input из stdin, и пишет output в stdout.
Один вариант: написать input в file, а потом зазвать $out = `hello < $infile`;
A mozhno li bez темпорары fajlov?
spasibo,
denis
Если надо оба, вход и выход:
use IPC::Open2;
open2(*README, *WRITEME, $program);
print WRITEME "here's your input\n";
$output = <README>;
close(WRITEME);
close(README);
Дальше, все будет только хуже. Оптимист.
-
- Уже с Приветом
- Posts: 2506
- Joined: 13 Jan 2003 22:34
- Location: Kiev :: Los Angeles, CA
Re: Perl: запустить програмку из скрипта и дать STDIN и STDO
f_evgeny wrote:theukrainian wrote:Добрый день, я в Perl даже не ноль, а минус
Ворпос: как зазвать програмку из perl. Трюк в том что програмка берет command-line arguments, читает input из stdin, и пишет output в stdout.
Один вариант: написать input в file, а потом зазвать $out = `hello < $infile`;
A mozhno li bez темпорары fajlov?
spasibo,
denis
Если надо оба, вход и выход:use IPC::Open2;
open2(*README, *WRITEME, $program);
print WRITEME "here's your input\n";
$output = <README>;
close(WRITEME);
close(README);
Спасибо. Это то что нужно, помоему.
денис
-
- Уже с Приветом
- Posts: 2506
- Joined: 13 Jan 2003 22:34
- Location: Kiev :: Los Angeles, CA
Re: Perl: запустить програмку из скрипта и дать STDIN и STDO
theukrainian wrote:f_evgeny wrote:Если надо оба, вход и выход:use IPC::Open2;
open2(*README, *WRITEME, $program);
print WRITEME "here's your input\n";
$output = <README>;
close(WRITEME);
close(README);
Спасибо. Это то что нужно, помоему.
денис
Маленькая поправка: работает только когда я закрываю handle WRITEME перед тем как читать из README. Иначе, скрипт ждет input. Я пытался посылать ^D, добавляя его к моей input string, но такое не канает
Все равно, спасибо Вроде как заработало.
денис