use strict; use warnings; use Data::Dumper; my @a = qw(one two three four); my @b = qw(1 2 3 4); my %x; while (@a) {$x{pop(@a)} = pop(@b);} # THIS IS THE LINE print Dumper(\%x);