To reduce parse and compile times, check out
http://www.engelschall.com/ar/perldoc/pages/module/Devel::DProf.html (Devel::DProf). Get it from CPAN. Then, separate your code into subs (which you should do anyways) and see which parts are taking most of your time. Then apply your optimization efforts there. 10% of the code runs 90% of the time. Optimize that 10% and you can get huge results.
Regarding question 4, in Time::HiRes, gettimeofday returns a two-element list.
my ($seconds, $microseconds) = gettimeofday;
You're only getting the first element, the seconds, from it. Add in $microseconds and use it to compute the time as well.
Quinn Slack
perl -e 's ssfhjok qupyrqs&&tr sfjkohpyuqrspitnrapj"hs&&eval&&s&&&'