$VAR1 = { 'Tucson' => 'AZ', 'Boston' => 'MA', 'Jackson' => 'MS', 'Dixon' => 'NM', 'Denton' => 'TX', 'Cincinnati' => 'OH' }; 1: Boston, MA 2: Cincinnati, OH 3: Denton, TX 4: Dixon, NM 5: Jackson, MS 6: Tucson, AZ #### #!/usr/bin/env perl use strict; use warnings; use autodie; use Data::Dumper; my %cities = ( Tucson => 'AZ', Boston => 'MA', Jackson => 'MS', Dixon => 'NM', Denton => 'TX', Cincinnati => 'OH', ); print Dumper(\%cities); foreach my $place (sort { $cities{$a} cmp $cities{$b} } keys %cities) { my $state = $cities{$place} ; print "$place, $state \n"; }