in reply to Re: packing a floating point
in thread packing a floating point

Without the ">", the output will be platform-dependent.

Of course, with it, it's perl version dependent :-)

$ perl -e'print pack "d>", -324978.08' Invalid type '>' in pack at -e line 1. $ perl -v This is perl, v5.8.8 built for i686-linux

Replies are listed 'Best First'.
Re^3: packing a floating point
by BrowserUk (Patriarch) on Oct 21, 2010 at 13:17 UTC
    with it, it's perl version dependent

    If the output from pack 'd', ... on a earlier version of Perl, is the wrong endian for the need, it can be 'converted' by by applying reverse to the packed value:

    c:\test>perl -E"say pack 'd<', 12345.67689" | od -t x1 0000000 7f de 54 a4 d6 1c c8 40 0d 0a 0000012 c:\test>perl -E"say pack 'd>', 12345.67689" | od -t x1 0000000 40 c8 1c d6 a4 54 de 7f 0d 0a 0000012 c:\test>perl -E"say pack 'd', 12345.67689" | od -t x1 0000000 7f de 54 a4 d6 1c c8 40 0d 0a 0000012 c:\test>perl -E"say scalar reverse pack 'd', 12345.67689" | od -t x1 0000000 40 c8 1c d6 a4 54 de 7f 0d 0a 0000012