Nyimi Jose wrote:
> I'm writing a script that has to be automatically
> executed every day at 6:00 AM via 'dollar universe' scheduler software.
> I want my script to stop itself at 23:00 PM
> (I think to timeout via alarm function).
> The script is mainly a while(1) loop and I want my loop
> to sleep few seconds before going to the next iteration.
> How can handle this without mixing alarm and sleep ?
>
you have a few options:
1. just mix alarm and sleep. Not all sleep functions are implemented using
alarm. If yours doesn't, you won't have to worry about it.
2. use the 4 argument version of the select() function with the first three
arguments being undef so you can delay any time you want. you can even get
finer granularity than a second if your system supports it.
3. Implement your own "sleep" function. Not really recommanded but I have
seen people doing things like:
#!/usr/bin/perl -w
use strict;
while(1){
delay(3);
#-- task
}
sub delay{
my $time = $_[0] * 999999;
for(my $i = 0; $i < $time; $i++){}
}
__END__
which is NOTHING close to the sleep function and it's wasting your system's
CPU resource. it merely slows down the program in a bad way!
4. check perldoc if you haven't do so. I am sure there are other methods
that works better since this is a fairly command task. There might even be
a module in CPAN that deals with that.
david
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]