If you compare the actual values by doing "%a" formatting on both the Linux and windows perls, you'll see that 0.1 is exactly the same double.
Your are correct. pack 'd' shows this more definitely.
>perl -E"say sprintf '%vX', pack 'd>', $ARGV[0]" 0.1
3F.B9.99.99.99.99.99.9A
$ perl -E'say sprintf "%vX", pack "d>", $ARGV[0]', 0.1
3F.B9.99.99.99.99.99.9A
I believe the OP's activestate perl was built with (mingw port of) gcc
It definitely allows mingw to be used to compile modules, but I don't know if that's what used to build Perl itself. (Update: perl -V hints that it uses mingw)
I beleive Strawberry Perl uses mingw, and I used Strawberry Perl in the test in the earlier post. If so, there are pertinent differences in the libraries between mingw and gcc.