in reply to Merging arrays into a hash

The above code is very good, and will work for most situations. However, a problem arises if multiple elements of $ary1 have the same value--in which case the last such value assigned to the hash will stick. If this is not the desired effect, then more coding will be needed (and even this assumes that the two arrays have the same amount of elements, or in least @ary2 is larger). For your code, replace the else statement assignment with however you wish to deal with the data (now it is colon separated, but you may desire something else, or even a hash of arrays to store the multiple values).
for(0..$#ary1) { unless (exists $hash{$ary1[$_]}) { $hash{$ary1[$_]} = $ary2[$_] } else { $hash{$ary1[$_]} = "$hash{$ary1[$_]:$ary2[$_]" } }