open( FILE, "; close( FILE) or die "Can't close file: $!\n"; my $LastWasZero = 0; foreach my $line (@lines) { chomp $line; my ($recType, $rest) = unpack "A2A*", $line; if ($recType = "00") { if ($lastWasZero) { # two consequative 00 recs my ($date,$headerNumber) = unpack "A10A20", $lastWasZero; #do delete processing on $headernumber $date... } my ($date,$headerNumber) = unpack "A10A20", $rest; $lastWasZero = $rest; next; } else $lastWasZero = ""; if ($recType eq "01" ) { my ($field1, $field2,....) = unpack "...", $rest; # process 01 records next; } if ($recType eq "02" ) { my ($field1, $field2,....) = unpack "...", $rest; # process 02 records next; } .... }