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