8.14 バイナリファイルから文字列を読み込む

特定のアドレスにあるNULで終わる文字列を読み込みたい

  • バイナリモードに切り替え、$/にASCIIのNULを設定してから、<>を使用して文字列を読み込む。
binmode(FH);   # バイナリモード
$old_rs = $/;   # $/の元の値を保存
$/ = "\0";         # ASCIIのNUL
seek(FH, $addr, SEEK_SET)  or die;
$string = <FH>  # 文字列の読み込み
chomp $string;   # NULの削除
$/ = $old_rs;      # $/に元の値を戻す