my @country = ("Australia", "south","Austria","America","India","Zimbabwe"); #### A = America Austria Australia I = India S = south Z = Zimbabwe #### ========== #!/usr/bin/perl #use strict; my @country = ("Australia", "south","Austria","America","India","Zimbabwe"); my $count = 0; my @countryA; my %counlist; my $countryName; foreach $country (@country) { $Ucountry = uc($country); # print $country; $init = substr($Ucountry,0,1); push(@initletter,$init); } @initletter = do { %tmp = map(($_,0), @initletter); keys(%tmp)}; join("\n", @initletter); @initletter = sort(@initletter); #print "@initletter\n"; #A I S Z foreach $countryName(sort(@country)) { # @countryA = (); foreach my $letter(@initletter) { # print "$letter\t"; if ($countryName=~/^($letter)/i) { # print "Country Name : $countryName\n"; push(@countryA,$countryName); @test = @countryA; # print "@test\n"; @countryA= (); print "$letter\n"; # print "@countryA\n\n\n\n"; print "$countryName"; $countlist{$letter}="$countryName"; last; } } #print "@test"; } #print @test; #$countlist{"A"}="@test"; foreach $value (%countlist) { # print $value; print "$countlist{$value}\n"; # print "\n"; } ============================= =====