perlで16進のデータをたくさんセットするには?
perlでテストデータを作成したいのですが、やり方がわからず困っています。
やりたいことは、文字変換テーブルがうまく作成できているかを試すための、テストデータ作成で、データとしては16進でx'97A0'からx'9EDF'までの2バイト文字コードのデータをひたすら打ち込んだ、テキストデータを作成することです。
単純にHEXのデータx'97a1'をunpackで10進化したデータに対して、1を足しこみ、それをPACKし直してと言うことをしてみたのですが、結果はx'97a1'で、x'97a2'にはなってくれませんでした。
16進で2バイト文字コードを連番で自動で作るようなことはできないのでしょうか?
作成するテストデータが多いため、できれば自動でしたいと考えたのですが・・・。
試してみたサンプルを以下に記します。
どなたかお知恵をお貸しください。
よろしくお願いいたします。
--------------------------------------------
$data0 = "97a1"
$data1 = pack "H4",$data0;
$ctrl = pack "H2","0d";
for ($i = 0; $i < 10; $i++) {
$data2 = unpack "H4",$data1 ;
$data5 = $data2++;
$data6 = pack "H4",$data5 ;
print NEWFILE $data6,$ctrl;
}
お礼
これです! ありがとうございました!