NAME Schedule::Poll - Evenly schedule recurring events with various intervals SYNOPSIS use Schedule::Poll; # Let's run a few things every 3 seconds, # and some things every 6 seconds my $config = { foo => 3, bar => 3, baz => 3, zip => 6, zoo => 6, zat => 6 }; my $poll = Schedule::Poll->new( $config ); while(1) { if (my $aref = $poll->which ) { for my $each (@$aref) { print "$each fired!\n"; } } sleep 1; } METHODS new Constructor. Accepts a hashref with the values being an interval in seconds. Each interval used should be a divisor of 86400. my $poll = Schedule::Poll->new({ foo => 300 # 5 minutes bar => 600 # 10 minutes baz => 5 # 5 seconds }); which Returns an arrary reference containing the items for that current tick interval. $poll->which; Examples $href = { a => 3, b => 3, c => 3 }; Timeline: interval | 1 2 3 4 5 6 ---------+------------------ key | a b c a b c $href = { a => 3, b => 3, c => 3, d => 6, e => 6, f => 6 }; Timeline: interval | 1 2 3 4 5 6 7 8 9 10 11 12 ---------+-------------------------------------- key | b a c b a c b a c b a c | d e f d e f AUTHOR Michael Kroher, `'