[ Team LiB ] |
Recipe 3.10 Short Sleeps3.10.1 ProblemYou need to sleep for less than a second. 3.10.2 SolutionUse the select( ) function, if your system supports it: select(undef, undef, undef, $time_to_sleep); Some systems don't support a four-argument select. The Time::HiRes module provides a sleep function that takes a floating-point number of seconds: use Time::HiRes qw(sleep); sleep($time_to_sleep); 3.10.3 DiscussionHere's an example of select. It's a simpler version of the program in Recipe 1.6. Think of it as your very own 300-baud terminal. while (<>) { select(undef, undef, undef, 0.25); print; } Using Time::HiRes, we'd write it as: use Time::HiRes qw(sleep); while (<>) { sleep(0.25); print; } 3.10.4 See AlsoThe documentation for the CPAN modules Time::HiRes and Benchmark; the sleep and select functions in perlfunc(1) and Chapter 29 of Programming Perl; we use the select function for short sleeps in the slowcat program in Recipe 1.6 |
[ Team LiB ] |