> This is probably a question better asked to the perl monks or similar,
> but if there are any of them lurking around here, it would save me a
> subscription.


it's a subscription worth having I've learnt more about Perl since
I've been there than in the preceding decade.

> Now, my question is, considering the way perl handles these things
> internally, how do these different forms compare in terms of eficiency ?


Perl sorts all of this out at compile time, so:

print "$var1 text"
and
print $var1.' text'

are represented by exactly the same opcodes:

perl -MO=Concise -e 'my $var = 'abc'; print $var .q{ text}'

c <@> leave[1 ref] vKP/REFC ->(end)
1 <0> enter ->2
2 <;> nextstate(main 1 -e:1) v:{ ->3
5 <2> sassign vKS/2 ->6
3 <$> const[PV "abc"] s/BARE ->4
4 <0> padsv[$var:1,2] sRM*/LVINTRO ->5
6 <;> nextstate(main 2 -e:1) v:{ ->7
b <@> print vK ->c
7 <0> pushmark s ->8
a <2> concat[t2] sK/2 ->b
8 <0> padsv[$var:1,2] s ->9
9 <$> const[PV " text"] s ->a


perl -MO=Concise -e 'my $var = 'abc'; print "$var text"'

c <@> leave[1 ref] vKP/REFC ->(end)
1 <0> enter ->2
2 <;> nextstate(main 1 -e:1) v:{ ->3
5 <2> sassign vKS/2 ->6
3 <$> const[PV "abc"] s/BARE ->4
4 <0> padsv[$var:1,2] sRM*/LVINTRO ->5
6 <;> nextstate(main 2 -e:1) v:{ ->7
b <@> print vK ->c
7 <0> pushmark s ->8
- <1> ex-stringify sK/1 ->b
- <0> ex-pushmark s ->8
a <2> concat[t2] sK/2 ->b
8 <0> padsv[$var:1,2] s ->9
9 <$> const[PV " text"] s ->a


clint