home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 May / Chip_2000-05_cd1.bin / zkuste / Perl / ActivePerl-5.6.0.613.msi / 䆊䌷䈹䈙䏵-䞅䞆䞀㡆䞃䄦䠥 / _6550b5c78e86fda5107c028bb6dc76be < prev    next >
Text File  |  2000-03-23  |  5KB  |  141 lines

  1.  
  2. <HTML>
  3. <HEAD>
  4. <TITLE>IO::Pipe - supply object methods for pipes</TITLE>
  5. <LINK REL="stylesheet" HREF="../../Active.css" TYPE="text/css">
  6. <LINK REV="made" HREF="mailto:">
  7. </HEAD>
  8.  
  9. <BODY>
  10. <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>
  11. <TR><TD CLASS=block VALIGN=MIDDLE WIDTH=100% BGCOLOR="#cccccc">
  12. <STRONG><P CLASS=block> IO::Pipe - supply object methods for pipes</P></STRONG>
  13. </TD></TR>
  14. </TABLE>
  15.  
  16. <A NAME="__index__"></A>
  17. <!-- INDEX BEGIN -->
  18.  
  19. <UL>
  20.  
  21.     <LI><A HREF="#name">NAME</A></LI><LI><A HREF="#supportedplatforms">SUPPORTED PLATFORMS</A></LI>
  22.  
  23.     <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
  24.     <LI><A HREF="#description">DESCRIPTION</A></LI>
  25.     <LI><A HREF="#constructor">CONSTRUCTOR</A></LI>
  26.     <LI><A HREF="#methods">METHODS</A></LI>
  27.     <LI><A HREF="#see also">SEE ALSO</A></LI>
  28.     <LI><A HREF="#author">AUTHOR</A></LI>
  29.     <LI><A HREF="#copyright">COPYRIGHT</A></LI>
  30. </UL>
  31. <!-- INDEX END -->
  32.  
  33. <HR>
  34. <P>
  35. <H1><A NAME="name">NAME</A></H1>
  36. <P>IO::Pipe - supply object methods for pipes</P>
  37. <P>
  38. <HR>
  39. <H1><A NAME="supportedplatforms">SUPPORTED PLATFORMS</A></H1>
  40. <UL>
  41. <LI>Linux</LI>
  42. <LI>Solaris</LI>
  43. <LI>Windows</LI>
  44. </UL>
  45. <HR>
  46. <H1><A NAME="synopsis">SYNOPSIS</A></H1>
  47. <PRE>
  48.         use IO::Pipe;</PRE>
  49. <PRE>
  50.         $pipe = new IO::Pipe;</PRE>
  51. <PRE>
  52.         if($pid = fork()) { # Parent
  53.             $pipe->reader();</PRE>
  54. <PRE>
  55.             while(<$pipe> {
  56.                 ....
  57.             }</PRE>
  58. <PRE>
  59.         }
  60.         elsif(defined $pid) { # Child
  61.             $pipe->writer();</PRE>
  62. <PRE>
  63.             print $pipe ....
  64.         }</PRE>
  65. <PRE>
  66.         or</PRE>
  67. <PRE>
  68.         $pipe = new IO::Pipe;</PRE>
  69. <PRE>
  70.         $pipe->reader(qw(ls -l));</PRE>
  71. <PRE>
  72.         while(<$pipe>) {
  73.             ....
  74.         }</PRE>
  75. <P>
  76. <HR>
  77. <H1><A NAME="description">DESCRIPTION</A></H1>
  78. <P><CODE>IO::Pipe</CODE> provides an interface to creating pipes between
  79. processes.</P>
  80. <P>
  81. <HR>
  82. <H1><A NAME="constructor">CONSTRUCTOR</A></H1>
  83. <DL>
  84. <DT><STRONG><A NAME="item_new">new ( [READER, WRITER] )</A></STRONG><BR>
  85. <DD>
  86. Creates a <CODE>IO::Pipe</CODE>, which is a reference to a newly created symbol
  87. (see the <CODE>Symbol</CODE> package). <CODE>IO::Pipe::new</CODE> optionally takes two
  88. arguments, which should be objects blessed into <CODE>IO::Handle</CODE>, or a
  89. subclass thereof. These two objects will be used for the system call
  90. to <A HREF="../../lib/Pod/perlfunc.html#item_pipe"><CODE>pipe</CODE></A>. If no arguments are given then method <A HREF="#item_handles"><CODE>handles</CODE></A> is called
  91. on the new <CODE>IO::Pipe</CODE> object.
  92. <P>These two handles are held in the array part of the GLOB until either
  93. <A HREF="#item_reader"><CODE>reader</CODE></A> or <A HREF="#item_writer"><CODE>writer</CODE></A> is called.</P>
  94. <P></P></DL>
  95. <P>
  96. <HR>
  97. <H1><A NAME="methods">METHODS</A></H1>
  98. <DL>
  99. <DT><STRONG><A NAME="item_reader">reader ([ARGS])</A></STRONG><BR>
  100. <DD>
  101. The object is re-blessed into a sub-class of <CODE>IO::Handle</CODE>, and becomes a
  102. handle at the reading end of the pipe. If <CODE>ARGS</CODE> are given then <A HREF="../../lib/Pod/perlfunc.html#item_fork"><CODE>fork</CODE></A>
  103. is called and <CODE>ARGS</CODE> are passed to exec.
  104. <P></P>
  105. <DT><STRONG><A NAME="item_writer">writer ([ARGS])</A></STRONG><BR>
  106. <DD>
  107. The object is re-blessed into a sub-class of <CODE>IO::Handle</CODE>, and becomes a
  108. handle at the writing end of the pipe. If <CODE>ARGS</CODE> are given then <A HREF="../../lib/Pod/perlfunc.html#item_fork"><CODE>fork</CODE></A>
  109. is called and <CODE>ARGS</CODE> are passed to exec.
  110. <P></P>
  111. <DT><STRONG><A NAME="item_handles">handles ()</A></STRONG><BR>
  112. <DD>
  113. This method is called during construction by <CODE>IO::Pipe::new</CODE>
  114. on the newly created <CODE>IO::Pipe</CODE> object. It returns an array of two objects
  115. blessed into <CODE>IO::Pipe::End</CODE>, or a subclass thereof.
  116. <P></P></DL>
  117. <P>
  118. <HR>
  119. <H1><A NAME="see also">SEE ALSO</A></H1>
  120. <P><A HREF="../../lib/IO/Handle.html">the IO::Handle manpage</A></P>
  121. <P>
  122. <HR>
  123. <H1><A NAME="author">AUTHOR</A></H1>
  124. <P>Graham Barr. Currently maintained by the Perl Porters.  Please report all
  125. bugs to <<A HREF="mailto:perl5-porters@perl.org">perl5-porters@perl.org</A>>.</P>
  126. <P>
  127. <HR>
  128. <H1><A NAME="copyright">COPYRIGHT</A></H1>
  129. <P>Copyright (c) 1996-8 Graham Barr <<A HREF="mailto:gbarr@pobox.com">gbarr@pobox.com</A>>. All rights reserved.
  130. This program is free software; you can redistribute it and/or
  131. modify it under the same terms as Perl itself.</P>
  132. <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>
  133. <TR><TD CLASS=block VALIGN=MIDDLE WIDTH=100% BGCOLOR="#cccccc">
  134. <STRONG><P CLASS=block> IO::Pipe - supply object methods for pipes</P></STRONG>
  135. </TD></TR>
  136. </TABLE>
  137.  
  138. </BODY>
  139.  
  140. </HTML>
  141.