Je voudrais faire quelque chose de similaire à open2, mais en
utilisant un pty (avec IO::Pty) à cause des problèmes de buffer.
Comment faire?
D'après ce que j'ai vu sur Google Groupes, ça serait un truc
du style:
my $pty = new IO::Pty;
my $pid = fork;
defined $pid or die;
unless ($pid) # child
{
*SLAVE = $pty->slave();
open STDIN, "<&SLAVE" or die;
open STDOUT, ">&SLAVE" or die;
exec 'grep', '--color=always', ';';
die;
}
foreach my $i (1..200)
{
print $pty "$i;\n";
$_ = <$pty>;
print;
}
mais ça ne passe pas par le grep (';' non coloré).
Dans l'article <20060414172830$, Vincent Lefevre <vincent+ écrit:
Dans l'article <20060414144522$, Vincent Lefevre <vincent+ écrit:
Je voudrais faire quelque chose de similaire à open2, mais en utilisant un pty (avec IO::Pty) à cause des problèmes de buffer.
Juste pour dire que j'ai réussi avec IPC::Run.
En fait, il y a un problème d'écho non déterministe: la chaîne fournie en entrée apparaît généralement en double sur la sortie, mais parfois en simple. Dans l'exemple ci-dessous, la sortie correspond à ce qu'il y a entre crochets. Pour le dernier maple_wr, la sortie apparaît en simple.
Dans l'article <20060414172830$5a75@prunille.vinc17.org>,
Vincent Lefevre <vincent+news@vinc17.org> écrit:
Dans l'article <20060414144522$1536@prunille.vinc17.org>,
Vincent Lefevre <vincent+news@vinc17.org> écrit:
Je voudrais faire quelque chose de similaire à open2, mais en
utilisant un pty (avec IO::Pty) à cause des problèmes de buffer.
Juste pour dire que j'ai réussi avec IPC::Run.
En fait, il y a un problème d'écho non déterministe: la chaîne fournie
en entrée apparaît généralement en double sur la sortie, mais parfois
en simple. Dans l'exemple ci-dessous, la sortie correspond à ce qu'il
y a entre crochets. Pour le dernier maple_wr, la sortie apparaît en
simple.
Dans l'article <20060414172830$, Vincent Lefevre <vincent+ écrit:
Dans l'article <20060414144522$, Vincent Lefevre <vincent+ écrit:
Je voudrais faire quelque chose de similaire à open2, mais en utilisant un pty (avec IO::Pty) à cause des problèmes de buffer.
Juste pour dire que j'ai réussi avec IPC::Run.
En fait, il y a un problème d'écho non déterministe: la chaîne fournie en entrée apparaît généralement en double sur la sortie, mais parfois en simple. Dans l'exemple ci-dessous, la sortie correspond à ce qu'il y a entre crochets. Pour le dernier maple_wr, la sortie apparaît en simple.