in reply to Re: Differences between " " and ' '?
in thread Differences between " " and ' '?

See A better non-existant string... for how incredibly little it matters performance-wise.

I recommend you use single quotes if you think you are likely to add $ or @ to the string in future and not want interpolation and use double quotes if you think you are likely to want interpolation in future. Otherwise, it so doesn't matter.

- tye        

Replies are listed 'Best First'.
Re^3: Differences between " " and ' '?
by polypompholyx (Chaplain) on Jul 31, 2005 at 09:36 UTC

    D:\perl> perl -MBenchmark -e "timethese( 1000000, { doubles => sub { my $interpolated = \"pomperipossa\" }, singles => sub {my $uninterpolated = 'pomperipossa' } } )"

    Gives these results:

    Benchmark: timing 1000000 iterations of doubles, singles...

    doubles:  0 wallclock secs ( 0.46 usr +  0.00 sys =  0.46 CPU) @ 2169197.40/s (n=1000000)

    singles:  0 wallclock secs ( 0.45 usr +  0.00 sys =  0.45 CPU) @ 2217294.90/s (n=1000000)

    So in this (highly unrealistic) case, singles seem infinitesimally faster. I use singles for things I think will be constant, and doubles only when I actually want interpolation. But this is nothing to do with alleged speed benefits, and everything to do with making my intentions clear.

      They are both 100% identical, internally. Any speed difference is the result of system noise and not because anything was measured. If you wished to measure the difference in compilation speed, use string-eval. That's the only time anything different will happen. I'm not going to run this code because any actual difference is going to be so infinitessimal that it will be undectable above system noise.

      use Benchmark; $bar = ''; timethese( 0, { doubles => sub { eval "$bar" }, singles => sub { eval '$bar' } } );