Самым простым решением было бы использование какого-либо монотонно тикающего таймера, поскольку абсолютное время не важно, а только относительное. Однако, не использовать же для этого /proc/uptime, как-то некрасиво. Не могу сообразить, откуда взять монотонный таймер, чтобы это было не настолько linux-specific. Самостоятельно дёргать SIGALRM раз в секунду на Perl мне представляется неправильным, как и вообще работа с сигналами в Perl. Можно отслеживать таймауты из будущего и ресетить их, но таймауты из прошлого будут срабатывать слишком рано, а таймауты из будущего несколько запоздало. Можно попробовать решить проблему административно -- поставить ntpd, но это тоже не 100%-е решение.
В общем нужна идея монотонного таймера, нормально доступного из Perl, возможно даже с тредами.
