my $loop = AnyEvent->condvar; my $a = 0; sub heartbeat { open( $fh, '>>', $msg_log ); print $fh "looping $a\n"; close $fh; }; AnyEvent->timer( interval => 5, cb => \&heartbeat ); $loop->recv; exit 0; #### $iocv->cb( \&on_io ); sub on_io { open( $fh, '>>', $msg_log ); print $fh "loop data: $data\n"; close $fh; undef( $iocv ); $iocv = AnyEvent->condvar; $iocv->cb( \&on_io ); };