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

pack で "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 に答える