http://www.perlmonks.org?node_id=327754


in reply to Converting Hex to Float (and vise versa)

I would think the simplest is to let Perl do the work for you. Since 0x428C0000 is an allowed number format in Perl, just evaluate the string using eval() and let Perl translate it into a number for you.

This trick will also work for the other allowed number formats, such as 0777 (leading 0 implies octal).

For example,

print " $_ is " . eval($_) . "\n" for qw( 0x428C000 0777 );
I put together a CGI script to do this sort of conversion (and a few other IP network translations) which you might find instructive; see this link and the source code. Feel free to adopt as you see fit.

- barrachois