Even with Time::Hires's gettimeofday, that doesn't sound like a very effective way to randomly seed things as most users would be prone to hitting a key at a fairly predictable interval if they're just doing it to provide a random seed. (I would expect that the typical user would generally either do it as quickly as possible (consistent time based on user's reflex speed) or wait a fairly consistent N seconds (where N is user-dependent, but generally no greater than 5).)
in reply to Problem running code until a user hits a key
I would expect to get greater randomness by using Perl's built-in rand to generate your seed value(s) instead. If rand's pseudo-randomness isn't truly random enough for you and you're running under Linux, reading from /dev/random or /dev/urandom will definitely give you much greater randomness than what you appear to be trying to do.