use strict; use warnings; use Benchmark; my $x = 5; timethese(-5, { EXPANDED=>sub { eval '$x * 24 * 60 * 60' }, NOT_EXP =>sub { eval '$x * 86400' }, }); Benchmark: running EXPANDED, NOT_EXP, each for at least 5 CPU seconds... EXPANDED: 6 wallclock secs ( 5.31 usr + 0.00 sys = 5.31 CPU) @ 5677.40/s (n =30147) NOT_EXP: 6 wallclock secs ( 5.26 usr + 0.00 sys = 5.26 CPU) @ 6749.24/s (n =35501)