in reply to Multiple Values for a Key

prasadbabu,
You have misunderstood hashes. You should have a look at perldoc perldata. A hash can only have a single scalar as a value. The good news is that references are scalars, so you can have a reference to another data type such as an array. There are tied implementations such as Tie::Hash::MultiValue that would do this for you, but you can do it yourself too.
#!/usr/bin/perl use strict; use warnings; my %hash; my @pairs = qw(1 canada 1 us 2 england 3 france 3 russia); while ( @pairs ) { my $key = shift @pairs; my $val = shift @pairs; push @{ $hash{$key} } , $val; } for ( sort keys %hash ) { print "$_ # ", join ', ' , @{ $hash{$_} }; print "\n"; } __END__ 1 # canada, us 2 # england 3 # france, russia

Cheers - L~R

Note: You would normally assign anonymous arrays to the keys as ccn shows. I did it this way to show how to add new elements after the initial hash is created a la push.