in reply to Interesting behavior in eval block
After any eval, you should check to see whether it failed or not. Right after yours, I slipped in this line:
die $@ if $@;
It's also useful when debugging to print out the string you're trying to eval in case it has an obvious error. Here's the string you're using:
use Time::HiResqw(gettimeofday tv_interval)
...so I stuck a space in this line:
$str .= ' qw(' . $args . ')' if $args ne '1'";
The error you get about "gettimeofday" and "strict subs" is because you've told Perl that the bareword "gettimeofday" is a function call rather than just some string. If Time::HiRes doesn't load, you'll still get another error:
Undefined subroutine &main::gettimeofday called at ...
If Time::HiRes does load, "gettimeofday" without the parentheses is fine because—I'm guessing a little here—it has a prototype.
Anyway, always check your evals.
|
|---|