use strict; use warnings; use Benchmark qw( cmpthese ); my $as = 'a' x 100; sub c_dq { eval "\$a = \"$as\";"; } sub c_sq { eval "\$a = '$as';"; } eval "sub r_dq { \$a = \"$as\"; }"; eval "sub r_sq { \$a = '$as'; }"; print("Compile-time difference\n"); cmpthese(-3, { double => \&c_dq, single => \&c_sq, }); print("Run-time difference\n"); cmpthese(-3, { double => \&r_dq, single => \&r_sq, });