sub find_point(){ my $ref = shift; my %hash = %$ref; my $key = shift; if(exists($hash{$key})){ ... } } #### sub points_list(){ my $ref = shift; my %hash = %$ref; my @order; foreach $item (keys %hash){ @order[int($hash{$item})]=$item; } return \@order; }