#!/usr/bin/perl use warnings; use strict; # note: define the required strings with # the input record separator, so no chomp() # required for comparison my @required = ( "set CMP_DATA_INBND_DIR=C:\\h\\csscs\\data\\commi\\tmp_queue$/", "set CMP_DATA_OUTBND_DIR=C:\\h\\CMP\\data\\outbound$/", "set JAVA_HOME=C:\\h\\COTS\\JAVA2\\1.3$/", "set CSSCS_DATA=C:\\h\\csscs\\data$/", ); my %found; @found{@required} = (0) x @required; # setting $^I defines the filename "extension" # to be appended to the backup copy of the # original file and enables in-place editing: $^I = '.bak'; while (<>) { print; $found{$_}++ if defined $found{$_}; if (eof) { for (@required) { next if $found{$_}; print; } } }