open INFILE, "<" . $filename or die "Couldn't open file " . $filename . " for reading : $!"; open OUTFILE, ">" . $filename or die "Couldn't open file " . $filename . " for writing : $!"; while (){ print OUTFILE $_; last if /$heading_to_print/; } while (){ print OUTFILE $_ unless /$heading_to_print/; } close INFILE; close OUTFILE; #### open INFILE, "<" . $filename or die "Couldn't open file " . $filename . " for reading : $!"; open OUTFILE, ">" . $filename or die "Couldn't open file " . $filename . " for writing : $!"; my %hash; while (){ print OUTFILE $_ unless $hash{$_}++; } close INFILE; close OUTFILE; #### perl -ni.old -e "print $_ unless $_{$_}++" foo.txt