in reply to Re: Re: substitute a word in the whole file .. how ???
in thread substitute a word in the whole file .. how ???
won't work inside a perl script. It works from the command line because "txtfile" is actually be handed to the mini-script created by using 'perl -i.bak -pe 's/frog/toad/g'. Use 'perl --help' to see what -i -p and -e mean. This sounds a lot like a homework assignment, but here is one solution:s/frog/toad/g txtfile
#!/usr/bin/perl -w use strict; # this script will edit itself ReplaceStuff($0,'word','taco'); sub ReplaceStuff{ my ($file,$origword,$newword) = @_; local $^I=""; # set the backup tag to nothing local @ARGV = $file; # make a local @ARGV so we can use <> # go through each line and do the substitution while (<>) { s/$origword/$newword/g; print; # print stuff out } }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: Re: Re: substitute a word in the whole file .. how ???
by Improv (Pilgrim) on Aug 15, 2003 at 13:29 UTC |