How exactly does it need to be? It may very well be that common OSses (Unix, Windows) cannot do what you want. The OS will not make a promise that a sleep of X seconds actually means X seconds. You're still at the mercy of the sceduler of your OS.
Comment on Re: Any ideas for using perl as a simple pulse generator?
You're right that I really should be doing this in hardware. But a couple hundred msec wouldn't be a problem for what I'm doing.
I think just running it with a higher priority on my unloaded linux box should be good enough, but I haven't tested and don't know what's available in the kernel for timing these days.