POE::Filter::Stream - a no-op filter that passes data through unchanged
#!perl
use Term::ReadKey;
use POE qw(Wheel::ReadWrite Filter::Stream);
POE::Session->create(
inline_states => {
_start => sub {
ReadMode "ultra-raw";
$_[HEAP]{io} = POE::Wheel::ReadWrite->new(
InputHandle => \*STDIN,
OutputHandle => \*STDOUT,
InputEvent => "got_some_data",
Filter => POE::Filter::Stream->new(),
);
},
got_some_data => sub {
$_[HEAP]{io}->put("<$_[ARG0]>");
delete $_[HEAP]{io} if $_[ARG0] eq "\cC";
},
_stop => sub {
ReadMode "restore";
print "\n";
},
}
);
POE::Kernel->run();
exit;
POE::Filter::Stream passes data through without changing it. It follows
POE::Filter's API and implements no new functionality.
In the "SYNOPSIS", POE::Filter::Stream is used to
collect keystrokes without any interpretation and display output without any
embellishments.
POE::Filter for more information about filters in general.
The SEE ALSO section in POE contains a table of contents covering
the entire POE distribution.
Please see POE for more information about authors and contributors.