my $filename = 'file.txt';
my $find = 'bar';
my $replace = 'foo';
replace($find,$replace,$filename);
sub replace {
local $^I = '.bak';
my $find = quotemeta(shift) or return(0);
my $replace = shift or return(0);
local @ARGV = shift or return(0);;
while(<>){
s/$find/$replace/g;
print;
}
close;
return(1);
}