#!/usr/bin/perl
use strict;
use warnings;
use POE;
use Time::HiRes qw(time);
POE::Session->create
( inline_states =>
{ _start => sub {
$_[KERNEL]->alias_set('timer');
$_[KERNEL]->post('timer', 'wakeup');
},
wakeup => sub {
print "wakeup at ", scalar localtime(), "\n";
$[KERNEL]->alarm( wokeup => int( time() ) + 2 );
$[KERNEL]->alarm( wakeup => int( time() ) + 2 );
},
wokeup => sub {
print "wokeup at ", scalar localtime(), "\n";
},
},
);
POE::Kernel->run();
exit 0;
####
jason@jfroebe-laptop:~/bin$ ./test_poe.pl
wakeup at Tue Jul 1 20:30:56 2008
wokeup at Tue Jul 1 20:30:58 2008
wakeup at Tue Jul 1 20:30:58 2008
wokeup at Tue Jul 1 20:31:00 2008
####
#!/usr/bin/perl
use strict;
use warnings;
use POE;
use Time::HiRes qw(time);
POE::Session->create
( inline_states =>
{ _start => sub {
$_[KERNEL]->alias_set('timer');
$_[KERNEL]->post('timer', 'wakeup');
},
wakeup => sub {
print "wakeup at ", scalar localtime(), "\n";
$_[KERNEL]->alarm( wakeup => int( time() ) + 2 );
$_[KERNEL]->alarm( wokeup => int( time() ) + 2 );
},
wokeup => sub {
print "wokeup at ", scalar localtime(), "\n";
},
},
);
POE::Kernel->run();
exit 0;
####
jason@jfroebe-laptop:~/bin$ ./test_poe.pl
wakeup at Tue Jul 1 19:36:29 2008
wakeup at Tue Jul 1 19:36:31 2008
wakeup at Tue Jul 1 19:36:33 2008