#!/usr/bin/perl -w use strict; use warnings; my $filename = shift; open my $fh,'<',$filename or die "No input file\n"; open my $ofh, '>', "$filename.new" or die "Can't open output file\n"; my $previousline= undef; while (<$fh>) { chomp; s/(?<=[^n])n|n(?=[^n])/^/ig; #borrowed from jwkrahn if (defined $previousline) { ($previousline=~/[^n]$/i) and (s/^n/^/i); (/^[^n]/i) and ($previousline=~s/n$/^/i); print $ofh $previousline,"\n"; } $previousline= $_; } print $ofh $previousline,"\n" if (defined $previousline); close $fh; close $ofh; rename "$filename.new",$filename;