#!/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