$ perl -MO=Deparse -p -w -e 's/(\w+)/\u\L$1/' Useless use of a constant (s/(\w+)/\u\L$1/) in void context at -e line 1. BEGIN { $^W = 1; } LINE: while (defined($_ = )) { '???'; } continue { die "-p destination: $!\n" unless print $_; } -e syntax OK $ perl -MData::Dump -e " dd\@ARGV " 's/(\w+)/\u\L$1/' ["'s/(\\w+)/\\u\\L\$1/'"]