POE::Session->create( package_states => [ 'main' => [ qw(_default _start irc_001 irc_public irc_join) ], ], heap => { irc => $irc }, inline_states => { _start => sub { $_[HEAP]->{next_alarm_time} = int( time() ) +900; $_[KERNEL]->alarm( tick => $_[HEAP]->{next_alarm_time} ); }, tick => sub { ParseHTML(); $_[HEAP]->{next_alarm_time}++; $_[KERNEL]->alarm( tick => $_[HEAP]->{next_alarm_time} ); }, }, );