in reply to forcing contexts and micro-efficiency
The answer is always going to be: It depends. Upon many things including what you subsequently do with the variables.
One trivial test each of ''. and 0+ shows that in these particular cases, the former costs little, and the latter saves a lot:
cmpthese -1,{ a => q[ my $s = join '', map ''.$_, 1 .. 1e5 ], b => q[ my $s = join '', map $_, 1 .. 1e5 ], };; Rate a b a 12.3/s -- -18% b 14.9/s 21% -- cmpthese -1,{ a => q[ my $s = sum map 0+$_, '0001' .. '1000'], b => q[ my $s = sum map $_, '0001' .. '1000'], };; Rate b a b 1452/s -- -76% a 6056/s 317% --
I guess whether you think either or both are important will depend upon whether your programs spend most of their time sitting around waiting for someone to click something, or doing real work :)
|
|---|