sleep - block for some number of seconds
sleep EXPR
sleep
Causes the script to sleep for EXPR seconds, or forever if no EXPR. May be interrupted by sending the process a SIGALRM. Returns the number of seconds actually slept. You probably cannot mix alarm() and sleep() calls, because sleep() is often implemented using alarm().
On some older systems, it may sleep up to a full second less than what you requested, depending on how it counts seconds. Most modern systems always sleep the full amount.
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 the select() entry in the perlfunc manpage below.
See also the POSIX module’s sigpause() function.