如何在Perl中将int打包为32位大端?

Geo*_*Geo 5 binary perl endianness

请考虑以下代码段:

use strict;
use warnings;

my $data = "1";
my $packed = pack("I",$data);
open(my $file,">","test.bin") || die "error $!\n";
binmode $file;
print $file $packed;
Run Code Online (Sandbox Code Playgroud)

问题是,试图从另一种语言中读取它,这似乎是小端.是否有任何模板参数允许我将其写为大端?我想在阅读时避免做额外的工作.

Tim*_*Tim 4

考虑将“N”模板与 pack 一起使用:

http://perldoc.perl.org/functions/pack.html