NAME

Every - return true every N cycles or S seconds

SYNOPSIS

for (0..200)
{
 print_stats() if every(20);		# every 20 cycles
 print_times() if every(seconds => 5); # every 5 or more seconds
 sleep 3;
}

FUNCTION-ORIENTED INTERFACE

every( $number [, @id] )

every( seconds => $number [, @id] )

Returns true every $number times it's called, or every time $number
seconds have elapsed since the last time it was called.

The every() function keeps track of where it was called by line.  If
you need to call it twice on the same line, e.g.

print "hello" if every(5) or every(6);

That won't work.  The right way is to use an identifier, e.g.

print "hello" if every(5, "a") or every(6, "b");

The reason is that caller() doesn't return a position, only a line
number.

DESCRIPTION

Returns true when the conditions (cycles or seconds elapsed) are met.

Thanks to Dr.Ruud on comp.lang.perl.misc for helping with this idea.

BUGS

None known.

COPYRIGHT

Copyright 2008, Ted Zlatanov (Теодор Златанов). All Rights Reserved. This module can be redistributed under the same terms as Perl itself.

AUTHOR

Ted Zlatanov <tzz@lifelogs.com>

SEE ALSO

1 POD Error

The following errors were encountered while parsing the POD:

Around line 85:

Non-ASCII character seen before =encoding in '(Теодор'. Assuming CP1252