IO::Pipe - 供應管線物件方法
use IO::Pipe;
$pipe = IO::Pipe->new();
if($pid = fork()) { # Parent
$pipe->reader();
while(<$pipe>) {
...
}
}
elsif(defined $pid) { # Child
$pipe->writer();
print $pipe ...
}
or
$pipe = IO::Pipe->new();
$pipe->reader(qw(ls -l));
while(<$pipe>) {
...
}
IO::Pipe
提供介面來建立程序之間的管線。
建立一個 IO::Pipe
,它是一個指向新建立符號的參考(請參閱 Symbol 套件)。IO::Pipe::new
選擇性地接受兩個參數,它們應該是受 IO::Handle
或其子類別祝福的物件。這兩個物件將用於 pipe
的系統呼叫。如果沒有給定參數,則會在新的 IO::Pipe
物件上呼叫方法 handles
。
這兩個控制代碼會保留在 GLOB 的陣列部分,直到呼叫 reader
或 writer
。
物件重新受 IO::Handle
的子類別祝福,並成為管線讀取端的控制代碼。如果給定 ARGS
,則會呼叫 fork
,並將 ARGS
傳遞給 exec。
物件會重新祝福成 IO::Handle
的子類別,並成為管線寫入端的控制代碼。如果給定 ARGS
,則會呼叫 fork
,並將 ARGS
傳遞給 exec。
這個方法會在 IO::Pipe::new
建構時呼叫,在新建的 IO::Pipe
物件上。它會傳回一個陣列,包含兩個祝福成 IO::Pipe::End
的物件,或其子類別。
Graham Barr。目前由 Perl Porters 維護。請在 https://github.com/Perl/perl5/issues 回報所有錯誤。
版權所有 (c) 1996-8 Graham Barr <gbarr@pobox.com>。所有權利保留。這個程式是自由軟體;你可以根據與 Perl 相同的條款重新散布或修改它。