# read and subst my $fh = new FileHandle($file,"<"); my @data = (); while (my $line = <$fh>) { $line =~ s/$expr1/$expr2/; push(@data,$line); } close($fh); # write new data $fh = new FileHandle($file,">"); foreach my $line (@data) { print $fh $line; } close($fh);