この問題は解決されました。本当にありがとうございました^^
私の問題と私が使用している解決策を以下に示します。
元の問題: --- 2013-05-08 編集
次のように C++ でこのタスクを実行できることを知っています。
struct { /* File Header */
int a;
int b;
short c;
short d;
} PPPhdr;
PPPhdr head;
fstream fst;
fst.open("file.txt", ios_base::in|ios_base::binary);
fst.read((char*)&head, sizeof(PPPhdr));
SwapInt32(&(head.a));
SwapInt32(&(head.b));
SwapShort(&(head.c));
SwapShort(&(head.d));
したがって、基本的に SwapInt32 はこれを行います。
0x89346512 -> 0x12653489
SwapShort はこれを行います。
0x3487 -> 0x8734
私の質問は、Perl でこれを行うにはどうすればよいですか?
私のやり方:
open FH, "<file.txt" or die print "Cannot open file\n";
binmode FH;
read FH, $temp, 12;
($a,$b) = unpack("N2", substr($temp,0,8));
($c,$d) = unpack("n2", substr($temp,8,4));
close(FH);
print "$a\n$b\n$c\n$d\n";