On Fri, Aug 20, 2010 at 04:34, Kammen van, Marco, Springer SBM NL <marco.vankam...@springer.com> wrote: > Hi All, > > I want to use timers to check if certain variables are set and if not > send some data back to a client... > > Been searching for this a while now, but all I can find on alarm are > examples on timing out commands.... snip
All the [alarm][0] function does is send the [ALRM][0] signal to the current process after X seconds. It is often used to turn a blocking function into a non-blocking function (i.e. a timeout), but any code can be put into the signal handler. Here is some code that does something different with it: #!/usr/bin/perl use strict; use warnings; use Time::HiRes qw/gettimeofday/; sub increment_speed { my $wait = shift; my $count = 1; my $continue = 1; local $SIG{ALRM} = sub { $continue = 0 }; #run this loop for roughly $wait seconds alarm $wait; while ($continue) { $count++; } return $count; } my $start = gettimeofday; my $count = increment_speed(5); my $end = gettimeofday; my $elapsed = $end - $start; my $average = $count/$elapsed; print "$average ($count/$elapsed) average increments per second\n"; [0]: http://perldoc.perl.org/functions/alarm.html [1]: http://en.wikipedia.org/wiki/SIGALRM -- Chas. Owens wonkden.net The most important skill a programmer can have is the ability to read. -- To unsubscribe, e-mail: beginners-unsubscr...@perl.org For additional commands, e-mail: beginners-h...@perl.org http://learn.perl.org/