my @arr_data; while (<>) { chomp; if (m/.+?(\d+?).?$/s) { push @arr_data, $1; } } my @assign_var = qw[AGC APC OAC CGA GAC CPA ACP CAO ACO BGH PHY ENG MAT]; # assumed parameters my %hash_val; @hash_val{@assign_var} = @arr_data; print $_, ":", $hash_val{$_}, $/ foreach sort keys %hash_val;