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


in reply to Need help with string and file manipulation

A key element in learning is RESEARCH. All the answers you want are on this site, in problably 100+ threads. Here is how to find just one of them.....

There is a feature here called Super Search. You can search for different phrases. I might try 'search and replace in file', 'reading from a file', 'writing to a file' as search strings. The functions you will use are (in order):

RTFM
use warnings; to give you hints about dodgy code
use strict; more hints about dodgy code
print to print your prompts
the = assignment and <> input operators
chomp to remove the newlines from you input data
quotemeta you will need to quotemeta your search string (just trust me :-)
open x 2 one file for <reading and one for >writing ( < & > = hint )
die to make sure your opens worked
$! to find out why your file opens failed (if they did)
while to iterate over your input file
s to do you search and replace, don't forget the /g
print to print to your output file
close to close your files

You can do it in one line in Perl using the 'inplace editing' function. This will do the search and replace inplace on somefile.txt and write a backup of the original to somfile.txt.bak. Unfortunately you will probably get a FAIL if you submit it as your homework answer.

perl -pi.bak -e 's/this string/that string/g' somefile.txt

cheers

tachyon

s&&rsenoyhcatreve&&&s&n.+t&"$'$`$\"$\&"&ee&&y&srve&&d&&print