#!/usr/bin/perl

my %current = ();
my @fline = ();
my $original = "";
open (DATA, "/export/home/webadm/scripts/backup_scripts/backup_data/1stnodupe"); while () { my @line = split(/\|/); # split on | @current{qw/name var1 var2 var3 var4 var5 var6 var7 var8 var9 var10 var11 var12 var13 var14 var15 var16 var17 var18/} = @line; #------------------------------ # process first two lines #----------- if ($line[0] =~ /^\S/) { # if line = Non-White Space Character (equal to first line in 3 line data) if (keys %current) { print; @fline = @line; $original = $line[0]; } } #--------------------------- # process overflow #--------- elsif ($line[0] =~ /^ (.*)/) { my $new = $line[0]; @next = split(/ /, $new); $overflow = $original.$next[1]; print "$overflow\|$fline[1]\|$fline[2]\|\n"; } #------------------------ # process rtc1 and rtc2 #----------- else { print; # print rest of lines } }