... { local $/ = \1173; ... } ... #### ... my $inputFile = q{C:/INPUTFILE}; open my $inputFH, q{<}, $inputFile or die qq{open: < $inputFile: $!\n}; my $outputFile = q{C:/OUTPUT.TXT}; open my $outputFH, q{>}, $outputFile or die qq{open: > $outputFile: $!\n}; ... while( <$inputFH> ) ... print $outputFH ... ... close $inputFH or die qq{close: < $inputFile: $!\n}; close $outputFH or die qq{close: > $outputFile: $!\n}; #### ... my $rcount; { local $/ = \1173; my $discard = <$inputFH> for 1 .. 7; $rcount = 7; # We've seen and skipped 7 records so far. while( <$inputFH> ) { $rcount ++; my @fields = unpack q{A34 ... }, $_; ... } } ... # Do something with $rcount here? ...