open(FH, "+<", "$filename") or die "Opening: $!"; @ARRAY = ; # change ARRAY here seek(FH,0,0) or die "Seeking: $!"; for($i=0;$i<=$#ARRAY;$i++) { $line = $ARRAY[$i]; $line=~s#find#replace#; $ARRAY[$i] = $line; } print FH @ARRAY or die "Printing: $!"; truncate(FH,tell(FH)) or die "Truncating: $!"; close(FH);