Additionally, something that may help you out in situations like this is
B::Deparse.
It can show you how your code looks after perl interprets it, and how it will effectively run when compiled.
Try, for example:
perl -MO=Deparse -e 'print ".102.111.111 - ", .102.111.111;'
and:
perl -MO=Deparse -e '$num=102; print ".$num.111.111 - ", .$num.111.111;'
... for whatever it's worth.