or download this
@HeaderRecordNames = qw/RequestYear RequestMonth RequestDay RequestS
+equence RecordType RecordSequence Record/;
$HeaderRecordLengths = q/A2A2A2A4A2A2A1486/;
...
my %Header = map {$HeaderRecordNames[$_] => $head[$_]} (0..$#head);
my @data = unpack($RecordLengths[$head{RecordType}], $Header{Record});
my %Record = map {$RecordNames[$_] => $data[$_]} (0..$#data);