#!usr/bin/perl sub test { print "@_\n"; if (@_ == 1.0000) { print "entering loop 1\n"; $hashname = "hash1"; } elsif (@_ == 2.0000) { print "entering loop 2\n"; $hashname = "hash2"; } print "$hashname\n"; return ($hashname); } %hash1 = ( 1 => 1.1, 2 => 2.2, 3 => 3.3, ); %hash2 = ( 1 => 4.4, 2 => 5.5, 3 => 6.6, ); $hash = test(sprintf("%.4f", 2)); print $$hash{1}; exit;