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 } }
In reply to Re: Re: Re: substitute a word in the whole file .. how ???
by fletcher_the_dog
in thread substitute a word in the whole file .. how ???
by star7
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |