#! perl -slw use strict; use Data::Dump qw[ pp ]; my @keys = split ' ', scalar ; ; ## discard ----- my @data = map{ my %hash; @hash{ @keys } = split ' '; \%hash; } ; pp \@data; __END__ Name UPP Age Career Terms -------- ------ --- ---------- ----- Rejnaldi 765987 38 Citizen 6 Lisandra 6779AA 34 Noble 4 Kuran 899786 42 Marine 8