http://www.perlmonks.org?node_id=537909


in reply to substitution of a string with Square brackets.

you should wrap $2 with quotes, i.e. \Q$2\E
$line =~ s#$methodname\((\Q$2\E)\)#private $methodname(\Q$2\E)#g
Enjoy,
Mickey