($ID,$name,$email,$title,$date,...) = /(ID)(name)(email)(title)(date)(...)/; $hash{$ID}{name} = $name; $hash{$ID}{email} = $email; ... #### my @keys = ('a', 'b', 'c'); my @vals = (1, 2, 3); my %hash; @hash{@keys} = @vals; #### my @keys = ('a', 'b', 'c'); my @vals = (1, 2, 3); my %hash; @($hash{key}}{@keys} = @vals; #### my @keys = ('name', 'email', 'title', ...); ($ID, @vals) = /(ID)(name)(email)(title)(date)(...)/; @{$hash{$ID}}{@keys} = @vals;