That doesn't work. The mere existence of those variables anywhere in your code will trigger this problem. The following will demonstrate the problem:
use Benchmark;
+
my $text = <<'END_TEXT';
this
isa
test of test text
that I am
testing
END_TEXT
+
my $start = new Benchmark;
+
for (1 .. 1000000) {
while ($text =~ /(test)/g) {
my $foo = $1;
}
}
my $end = new Benchmark;
my $diff = timediff($end, $start);
print "While not using \$` the code took: ",timestr($diff),"\n";
exit;
my $foo = $`;
Run that a few times, then try commenting out that last line. Even though that line can never be executed, you'll see that the presense of that variable slows the program down.
|