Sometimes it is worth avoiding the local OS scheduling framework, for example when you want something portable.

You can use localtime() and timelocal() (from Time::Local) to convert between absolute number of seconds and a 9 element array giving dates.

# This is from memory and almost certainly contains bugs use Time::Local; $now = time; @now_array = localtime($now); # 1:00am is tomorrow if it is after that today if($now_array[2] >= 1) { $now_array[3]++; } # Set 1:00am in the structure $now_array[2] = 1; $now_array[1] = 0; # Convert to seconds $then = timelocal(@now_array); # Now wait sleep($then - $now);

It is also a good idea not to sleep for the whole time but for an hour or so at a time (because clocks drift and long sleeps are sometimes inaccurate. Another thing that could be important is to arrange for your process to be restarted if it dies and to make sure there is only one of them running.


In reply to Re: Perl Timer by hawtin
in thread Perl Timer by Anonymous Monk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.