in reply to Hash table manipulation

I have a hash with keys and values stored in it. The keys are floating point numbers(i.e 0.423.0.523 etc).
This tells me enough to conclude that you're using the wrong data structure.
  1. Floating point numbers are somewhat elusive, you never get exact values for floating points. So the string representation of the numbers, which is slightly more stable, is still rather unreliable.
  2. What if you have a conflict? What if 2 "URL"s have the same key value? What if they're slightly different? You may have one hash entry, or you may have 2.
What I think you want is a data structure containing pairs (AKA "tuples") of (numeric value, url).
i want only the values greater than 0.4
Even more evidence you don't really want Perl hashes. IMO this is more suitable for what you're after:
@data = ( [ 0.423, 'http://google.com/' ], [ 0.523, 'http://bing.com/' ], );
You can use grep to extract the tuples that match your requirements.