Hello this is one way to do it!
it works for me
#!/usr/bin/perl -w
use strict;
die "usage: $0 <file> <search pattern> <replace pattern>",
unless @ARGV == 3;
my $searchFile = $ARGV[0];
my $searchPattern = $ARGV[1];
my $replacePattern = $ARGV[2];
my $tempFile = 'tmp$$';
open FILE, $searchFile #opens file in read-only mode
or die "Cannot open $searchFile in read-only mode. $!\n";
open TMP, '>'.$tempFile
or die "Cannot create temp file. $!\n";
while (<FILE>) {
chomp;
if (/$searchPattern/i) {
print "Match found...replacing at line $.\n";
$_ =~ s/$searchPattern/$replacePattern/i;
print TMP $_."\n";
}else {
print TMP $_."\n"
}
}
close FILE;
close TMP;
unlink $searchFile;
rename $tempFile, $searchFile;
Antonis!