Perl を使用して、各レコードが ASCII または Unicode 文字で構成される固定レコードを持つファイルを作成して、そのファイルをランダム アクセス ファイルとして評価できるようにしたいと考えています。
レコードには、最大文字数がそれぞれ 100、60、40 の 3 つの文字列 str1、str2、および str3 があり、文字列には ASCII または UTF-8 文字を含めることができます。
以下のように perl の pack/unpack 関数を使用していますが、期待した結果が得られませんでした。
open (FILE,">>:utf8",filename) or die "can't open\n";
$record=pack("U100 U60 U40",$str1,$str2,$str3);
print FILE $record;
これを読むために
open (FILE,"<:utf8",filename) or die "can't open\n";
seek(FILE,$buffer,200);
@data=unpack("U100 U60 U40",$buffer);
print @data;
これを行う方法を教えてください。