1 |
joko |
1.1 |
#!/usr/bin/perl |
2 |
|
|
|
3 |
|
|
#sub POE::Kernel::ASSERT_DEFAULT () { 1 } |
4 |
|
|
#sub POE::Kernel::TRACE_DEFAULT () { 1 } |
5 |
|
|
|
6 |
|
|
use POE qw ( Component::SubWrapper ); |
7 |
|
|
|
8 |
|
|
use Data::Dumper; |
9 |
|
|
poeize Data::Dumper; |
10 |
|
|
|
11 |
|
|
sub _start { |
12 |
|
|
my ( $kernel, $heap ) = @_[ KERNEL, HEAP ]; |
13 |
|
|
print "1. session started", "\n"; |
14 |
|
|
print "2. posting command to \"Data::Dumper\"", "\n"; |
15 |
|
|
$kernel->post('Data::Dumper', 'Dumper', [ { a => 1, b => 2 } ], 'callback_handler', 'SCALAR'); |
16 |
|
|
$kernel->post('Data::Dumper', 'Dumper', [ { a => 1, b => 2 } ], 'callback_handler', 'SCALAR'); |
17 |
|
|
print "3. doing someting here", "\n"; |
18 |
|
|
print "4. doing someting here", "\n"; |
19 |
|
|
} |
20 |
|
|
|
21 |
|
|
sub callback_handler { |
22 |
|
|
my $result = @_[ARG0]; |
23 |
|
|
# do something with the string returned by Dumper({ a => 1, b => 2}) |
24 |
|
|
print "2. recieved result: $result", "\n"; |
25 |
|
|
} |
26 |
|
|
|
27 |
|
|
|
28 |
|
|
#my @handlers = qw( _start got_child_stdout got_child_stderr got_child_close ); |
29 |
|
|
my @handlers = qw( _start callback_handler ); |
30 |
|
|
POE::Session->create( package_states => [ main => \@handlers ] ); |
31 |
|
|
$poe_kernel->run(); |
32 |
|
|
exit; |