my $number="31456000001"; my $len = (grep {exists $hash{substr($number,0,$_)}} 2..5)[-1]; my $result = $hash{substr($number,0,$len)};