#!/usr/bin/perl use strict; # https://perlmonks.org/?node_id=1216162 use warnings; use List::AllUtils qw( reduce pairwise ); my @trip = ("Chicago", "Saint Looey", "Joplin", "OKC", "Amarillo", "Gallup", "Flagstaff", "Winona", "Kingman", "Barstow", "San Bernandino", "LA" ); reduce { printf "%15s to %-15s\n", $a, $b; $b } @trip; my @states = ("IL", "MO", "MO", "OK", "TX", "TX", "AZ", "AZ", "AZ", "CA", "CA", "CA" ); my %info = pairwise { $a => { state => $b } } @trip, @states; use Data::Dump 'dd'; dd \%info; print "\n", $info{Joplin}{state}, "\n";