alarm
alarm - schedule a SIGALRM 
alarm SECONDS
Arranges to have a SIGALRM delivered to this process after the
specified number of seconds have elapsed.  (On some machines,
unfortunately, the elapsed time may be up to one second less than you
specified because of how seconds are counted.)  Only one timer may be
counting at once.  Each call disables the previous timer, and an
argument of 0 may be supplied to cancel the previous timer without
starting a new one.  The returned value is the amount of time remaining
on the previous timer.
For delays of finer granularity than one second, you may use Perl's
syscall()
 interface to access setitimer(2) if your system supports it, 
or else see 
select
 below.  It is not advised to intermix 
alarm()
 
and 
sleep()
 calls.