IO::Pipe(3p) Perl Programmers Reference Guide IO::Pipe(3p)
IO::Pipe - supply object methods for pipes
use IO::Pipe;
$pipe = new IO::Pipe;
if($pid = fork()) { # Parent
$pipe->reader();
while(<$pipe>) {
...
}
}
elsif(defined $pid) { # Child
$pipe->writer();
print $pipe ...
}
or
$pipe = new IO::Pipe;
$pipe->reader(qw(ls -l));
while(<$pipe>) {
...
}
"IO::Pipe" provides an interface to creating pipes between
processes.
new ( [READER, WRITER] )
Creates an "IO::Pipe", which is a reference to a newly
created symbol (see the "Symbol" package).
"IO::Pipe::new" optionally takes two arguments, which
should be objects blessed into "IO::Handle", or a sub-
class thereof. These two objects will be used for the
system call to "pipe". If no arguments are given then
method "handles" is called on the new "IO::Pipe" object.
These two handles are held in the array part of the GLOB
until either "reader" or "writer" is called.
reader ([ARGS])
The object is re-blessed into a sub-class of
perl v5.8.8 2005-02-05 1
IO::Pipe(3p) Perl Programmers Reference Guide IO::Pipe(3p)
"IO::Handle", and becomes a handle at the reading end of
the pipe. If "ARGS" are given then "fork" is called and
"ARGS" are passed to exec.
writer ([ARGS])
The object is re-blessed into a sub-class of
"IO::Handle", and becomes a handle at the writing end of
the pipe. If "ARGS" are given then "fork" is called and
"ARGS" are passed to exec.
handles ()
This method is called during construction by
"IO::Pipe::new" on the newly created "IO::Pipe" object.
It returns an array of two objects blessed into
"IO::Pipe::End", or a subclass thereof.
IO::Handle
Graham Barr. Currently maintained by the Perl Porters.
Please report all bugs to <perl5-porters@perl.org>.
Copyright (c) 1996-8 Graham Barr <gbarr@pobox.com>. All
rights reserved. This program is free software; you can
redistribute it and/or modify it under the same terms as
Perl itself.
perl v5.8.8 2005-02-05 2
Generated on 2013-04-27 00:20:00 by $MirOS: src/scripts/roff2htm,v 1.77 2013/01/01 20:49:09 tg Exp $
These manual pages and other documentation are copyrighted by their respective writers;
their source is available at our CVSweb,
AnonCVS, and other mirrors. The rest is Copyright © 2002‒2013 The MirOS Project, Germany.
This product includes material
provided by Thorsten Glaser.
This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report – diffs preferred.