in reply to How to modify words in a line using perl oneliner
perl -i.bak -pe 's/first/last/g' one.txt
To make your code work you need to change the order of operators and add 'g' modifier to the regexp
perl -ni.bak -e 's/first/last/g; print' one.txt
In Section
Seekers of Perl Wisdom