/usr/bin/perl /dir/perl/test.pl ${infile} ${outfile} cat test.pl #!/usr/bin/perl $dir="/dir"; $infile = $ARGV[0]; $outfile = $ARGV[1]; $configfile="$dir/conf/EventType.conf"; open(FILE, $infile) or die("Could not open $infile."); $/ = "#>\n"; $\ = "\n"; open(OUTFILE, ">", $outfile) or die("Could not open $outfile."); for $line () { # chomp($line); #split each line into fields and process @Line = split (/\|/, $line); #Check ETYPE and change EOUTCOME if ($Line[2] eq 'INFO') { $Line[5] = "INFO"; } elsif ($Line[2] eq 'ERROR') { $Line[5] = "ERROR"; } #Check EMSG and create new field next to it open CONFIG, $configfile or die "Could not open $configfile... $!"; for $configLine () { chomp($configLine); @configLineItems = split /::/, $configLine; for $checkItem (@configLineItems) { if ("$Line[6]" =~ $checkItem) { $Line[8] = $configLineItems[0]; } else { $Line[8] = "Other Application Event"; } } } #Write output print OUTFILE "|", $Line[1], "|", $Line[2], "|", $Line[3], "|", $Line[4], "|", $Line[5], "|", $Line[6], "|", $Line[8], "|", $Line[7],"|" ; close CONFIG; } close (FILE); close (OUTFILE);