sub grabdataentry { my $href=shift; my %dhash=%{$href}; my $skey=shift; my $pos=shift; my @list=split /;/, $dhash{$skey}; return $list[$pos]; } #### foreach my $key (sort { grabdataentry(\%hash,$a,0) cmp grabdataentry(\%hash,$b,0) } keys %hash)