##
John => [London, Berlin],
Mike => [Paris],
Vivien => [Milan, Paris]
####
use strict;
use Data::Dump qw/dump/;
my @ar_1 = qw/John Mike Vivien John Vivien/;
my @ar_2 = qw/London Paris Milan Berlin Paris/;
my %hash;
foreach (0 .. $#ar_1) {
push @{$hash{$ar_1[$_]}}, $ar_2[$_];
}
print dump(\%hash);