open FILE, "; close FILE; for my $i ( 0 .. $#content -1 ) { $content[$i] = $some_edit if $content[$i+1] eq $some_next_line_bit; } open FILE, ">whatever.txt" or die "Oops $!\n"; print FILE @content; close FILE; #### my $last = ''; open FILE, "tmp.txt" or die "Oops $!\n"; while () { $last =~ s/this/that/ if $_ eq $some_next_line_bit; print TMP $last; $last = $_; } print TMP $last; # print the very last line close FILE; close TMP; rename "tmp.txt", "whatever.txt"; unlink "tmp.txt";