hippo (++) has the classic solution.
If you want to declare AND populate, the following *DESTRUCTIVE* solution works:
>perl -MData::Dumper -E "my @players = qw/ barney fred dino/; my @bowl
+ing_scores = (195, 205, 30);my %score=map{shift @players,$_} @bowling
+_scores;say Dumper \%score"
$VAR1 = {
'dino' => 30,
'barney' => 195,
'fred' => 205
};
For readability - the key statement is:
my %score=map{shift @players,$_} @bowling_scores;
Update: Here is a NON-Destructive version:
>perl -MData::Dumper -E "my @players = qw/ barney fred dino/; my @bowl
+ing_scores = (195, 205, 30);my %score=map{$players[$_],$bowling_score
+s[$_]} 0..$#players;say Dumper \%score; say Dumper \@players"
Key statement:
my %score=map{$players[$_],$bowling_scores[$_]} 0..$#players;
As a computer, I find your faith in technology amusing.