5

考虑这个片段:

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;

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

4

2 回答 2

4

考虑使用带有包的“N”模板:

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

于 2010-02-13T23:40:05.170 回答
3

解决方案是N模板。

my $packed = pack "N", $data;

有关所有包选项的列表,请参阅文档。

于 2010-02-13T23:41:03.467 回答