my $file = 'test.dat'; my $totalTxns = 0; my $maxSeg = 6; my $segOffset = 24; my $segSize = 240; open(INFILE, $file) or die "Can't read file\n"; while () { $rectype = substr($_,0,1); if ($rectype eq 'C') { $offSet = $segOffset; for ($seg = 0; $seg < $maxSeg; $seg++) { $txn = substr($_,$offSet,$segSize); $totalTxns++ if($txn =~ /\S/); $offSet += $seqSize; } } }