my %unpack = ( preface => "A2 A2 A2 A4 A2 A2 A1486", 94 => "A8 A40", ... ) @HeaderRecord = unpack $unpack{preface}, $FullRecord; @RecordNames[$RecordType] = unpack $unpack{$RecordType}, $Record;