in reply to IPC::Open2
You need to write to BOOUT and read from BOIN--you were doing the opposite. It should read:
If you'd had warnings on in your original, you would have received this warning:#!/usr/bin/perl -w use strict; use IPC::Open2; print open2(\*BOIN, \*BOOUT, "cat"); print BOOUT "proclist\n"; print BOOUT "quit\n"; close BOOUT; while (<BOIN>) { print; } close BOIN;
By the way, as perlipc warns, watch out for Unix buffering. In this case (using cat) you might want to use the -u flag for unbuffered output. In your case, it doesn't matter much, since you close the output filehandle. But in general, it's something to think about.Filehandle main::BOIN opened only for input at foo.pl line 8. Filehandle main::BOIN opened only for input at foo.pl line 9.
|
|---|