Thursday, August 8, 2013

How can we map country, state & cities in a hash?

my %geo = (
INDIA => {
OR => [ qw ( Bhubaneswar Cuttack Rourkela Brahmapur Sambalpur Balasore Puri Bhadrak Baripada ) ],
AP => [ qw ( Adilabad Adoni Amravati Anantapur Cuddapah Eluru Guntur Hyderabad Karimnagar Khammam Kothagudem Kurnool Lepakshi NagarjunaSagar Nagarjunakonda Nalgonda Nellore Nizamabad Puttaparthi Srikakulam Tirupati Vijayawada Visakhapatnam Warangal ) ],
MH => [ qw (Mumbai Pune Aurangabad Nashik Kolhapur Nagpur Amaravati Ahmadnagar Thane Chandrapur Solapur) ],
GJ => [ qw ( Ahmedabad Ankleshwar Atul Anand Ambaji Bharuch Baroda Bilimora Bhavnagar Dwarka gandhinagar Jamnagar Junagadh Kutch Mehsana Morbi Patan Nadiad Navsari Porbandar Palanpur Rajkot Surat Valsad Vasad Vapi) ],
},
);

foreach my $country (keys %geo)
{
  print " Country : " . "$country \n";
  foreach my $state (keys %{$geo{$country}})
  {
    print " State : " . "$state\n City : ";
    foreach $city ( @{$geo{$country}->{$state}} )
    {
      print $city . "\t" ;
    }
    print "\n";
  }
}

No comments :