in reply to Re^2: Substitution, '+' in first position of Pattern
in thread Substitution, '+' in first position of Pattern

The problem is that your test is wrong. Try this:
$ perl -le '$out = "+44"; $in=quotemeta $out; $out =~ s/$in//; print " +Result: |$in|$out|\n";' Result: |\+44||
Note that '$in' is the pattern, not the original value of '$out'.

Alternatively, you may write:

$ perl -le '$in = "+44"; $out = $in; $out =~ s/\Q$in//; print "Result: + |$in|$out|\n";' Result: |+44||