IPC::Open3 - nejak mi nejde cist STDERR prikazu
Pavel Smerk
smerk na fi.muni.cz
Čtvrtek Srpen 26 11:07:23 MEST 1999
Zdravim vespolek.
open3(\*WRITE, \*PIPEOUT, \*ERRGS, $gs);
while (read($obsah, my $buffer, 1024)) { print WRITE $buffer;}
close WRITE;
my $errgs = <ERRGS>;
Tohle je muj kousek kodu. V $gs je volani ghostscriptu zerouciho std.
vstup a plijiciho na std. vystup. Kdyz je neco v neporadku, oznami to na
stderr. Pokud se tak stane, tak to v pohode nactu a zaridim se. Pokud na
stderr nejde nic a ja se z ERRGS pokusim cist, tak to cele zustane cekat
na ja nevim co. Pokud se z ERRGS nesnazim cist, tak to bez problemu
probehne. Jak mam poznat, jestli z ERRGS muzu cist, nebo ne, cim je to
zpusobene? Kdyz misto gs mam jiny prikaz, chova se to normalne. Zkousel
jsem vselijake selecty okolo a nastavovani $|, dokonce i chytat signal
PIPE (to asi je blbost, taky zadnej nedosel) a nic. Mozna jsem to
zkousel blbe, mozna se to cely dela nejak jinak - umi mi nekdo poradit?
Diky moc.
P.
Další informace o konferenci Perl