http://qs321.pair.com?node_id=250151


in reply to Re: system-clock-safe timers without time()?
in thread system-clock-safe timers without time()?

You should be very wary of the first second of any sleep() call - as per the POSIX spec, this is allowed, and frequently is, somewhere between 0 and 1 seconds (being based on when the computers clock counds the end of a second. So whether your clock currently says 12:00:00.01 or 12:00:00.99, if you ask it to sleep 5, it will finish at 12:00:05.00 This is obviously less of a problem if you're asking it to sleep to just delay between two actions, but if you're using it to issue metronome clicks, then you get strange issues depending on how long it takes to do the processing between the sections.

Getting back to the main question, I read the issue as being more about changing to summertime, rather than clock corrections. (probably because the clocks only changed recently) But either way it sounds like your sysadmin needs educating - for time correcting, use NTP as suggested. For summertime, the system clock itself shouldn't be changed, but users can have their timezones changed to match their requirements. Meanwhile, your script can set its timezone to something fixed ($ENV{'TZ'} = 'UTC' is my preference) and then it won't be bothered by daylight saving.

the hatter