foreach my $nums (keys %hash){ if($hash{$nums} =~ m/^([^0]|((0\.[5-9]\d{2})|(0\.4[([^0]{2})([^0]\d)(\d[^0])])))/){ print "$nums is linked with url $hash{$nums}\n"; # or do something with $hash{$nums} } }