Given your constraint (changing the system clock is not an option), I'd set myself up with a subroutine that I called every-time I needed to refer to the clock. A little bit of Getopts::Std to let me pass a parameter in from the command line, and I can set the subroutine to return anytime I like.