#! perl -slw use strict; use Data::Dump qw[ pp ]; my @keys = scalar( ) =~ m[(\S+\s*)\s]g; my $templ = join 'x', map{ 'A' . length() } @keys; @keys = map{ $_ =~ s[\s+$][]; $_ } @keys; ; ## discard my @data = map{ my %hash; @hash{ @keys } = unpack $templ, $_; \%hash; } ; pp \@data; __END__