How do I sleep for a millisecond in Perl?

PerlSleep

Perl Problem Overview


How do I sleep for shorter than a second in Perl?

Perl Solutions


Solution 1 - Perl

From the Perldoc page on sleep:

> For delays of finer granularity than one second, the Time::HiRes module (from CPAN, and starting from Perl 5.8 part of the standard distribution) provides usleep().

Actually, it provides usleep() (which sleeps in microseconds) and nanosleep() (which sleeps in nanoseconds). You may want usleep(), which should let you deal with easier numbers. 1 millisecond sleep (using each):

use strict;
use warnings;

use Time::HiRes qw(usleep nanosleep);

# 1 millisecond == 1000 microseconds
usleep(1000);
# 1 microsecond == 1000 nanoseconds
nanosleep(1000000);

If you don't want to (or can't) load a module to do this, you may also be able to use the built-in http://perldoc.perl.org/functions/select.html">`select()`</a> function:

# Sleep for 250 milliseconds
select(undef, undef, undef, 0.25);

Solution 2 - Perl

Time::HiRes:

  use Time::HiRes;
  Time::HiRes::sleep(0.1); #.1 seconds
  Time::HiRes::usleep(1); # 1 microsecond.

http://perldoc.perl.org/Time/HiRes.html

Solution 3 - Perl

From perlfaq8:


How can I sleep() or alarm() for under a second?

If you want finer granularity than the 1 second that the sleep() function provides, the easiest way is to use the select() function as documented in select in perlfunc. Try the Time::HiRes and the BSD::Itimer modules (available from CPAN, and starting from Perl 5.8 Time::HiRes is part of the standard distribution).

Solution 4 - Perl

Solution 5 - Perl

A quick googling on "perl high resolution timers" gave a reference to Time::HiRes. Maybe that it what you want.

Solution 6 - Perl

system "sleep 0.1";

does the trick.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionˈoʊ sɪksView Question on Stackoverflow
Solution 1 - PerlChris LutzView Answer on Stackoverflow
Solution 2 - PerlGregView Answer on Stackoverflow
Solution 3 - Perlbrian d foyView Answer on Stackoverflow
Solution 4 - PerlTMLView Answer on Stackoverflow
Solution 5 - PerlJesperEView Answer on Stackoverflow
Solution 6 - PerlTim TianView Answer on Stackoverflow