my @field_names = qw|PIIN FSCM N/A U/I UNIT PRICE AWD DT QTY OPT DT FOB REP TYPE|; my $pack_defn = 'A21 A9 A9 A2 A14 A8 A9 A9 A4 A5 A6'; my %fields; @fields{@field_names} = unpack($pack_defn,$_); foreach (@field_names){ print "\t$_\t\= " , $fields{$_},"\n"; }