use POE qw(Wheel::ReadWrite);
my $S2 = POE::Session->create(
inline_states => {
_start => sub {
$_[HEAP]->{reader} = POE::Wheel::ReadWrite->new(
Handle => \*STDIN,
InputEvent => 'got_input',
);
},
got_input => \&got_input,
bang => \&bang,
}
);
sub got_input {
print $_[ARG0], "\n";
$poe_kernel->yield('bang', $_[ARG0]);
}
sub bang {
print "Bang\n";
}
$poe_kernel->run();
####
This is line number 1
This is line number 2
This is line number 3
This is line number 4
This is line number 5
Bang
Bang
Bang
Bang
Bang
####
This is line number 1
Bang
This is line number 2
Bang
This is line number 3
Bang
This is line number 4
Bang
This is line number 5
Bang