Finding if the system is little endian or big endian with perl

后端 未结 2 1387
無奈伤痛
無奈伤痛 2020-12-16 01:05

Is there an option to find if my system is little endian byte order or big endian byte order using Perl?

相关标签:
2条回答
  • 2020-12-16 01:24
    perl -MConfig -e 'print "$Config{byteorder}\n";'
    

    See Perl documentation.

    If the first byte of the output string is 1, you can assume (with moderate safety) that it is little-endian. If it is 4 or 8, you can assume big-endian.

    0 讨论(0)
  • 2020-12-16 01:33

    I guess you could do:

    $big_endian = pack("L", 1) eq pack("N", 1);
    

    This might fail if your system has a nonstandard (neither big-endian nor little-endian) byte ordering (eg PDP-11).

    0 讨论(0)
提交回复
热议问题