http://qs321.pair.com?node_id=798279


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

Replies are listed 'Best First'.
Re^2: How to modify words in a line using perl oneliner
by BioLion (Curate) on Sep 30, 2009 at 11:10 UTC

    Maybe also add in boundaries, just in case? Firstly, blast, etc...

    perl -ni.bak -e 's/\bfirst\b/last/g; print' one.txt
    Just a something something...
Re^2: How to modify words in a line using perl oneliner
by Bloodnok (Vicar) on Sep 30, 2009 at 11:36 UTC
    ...or even, assuming ...second line... to be a specific requirement (c/w a statement of the loaction of the string to be changed):
    perl -ni.bak -e 's/first/last/g if $. == 2; print' one.txt
    A user level that continues to overstate my experience :-))