sysread関数 - ファイルからバイト数を指定して読み込み(バッファリングなし)
sysread関数を使用すると、ファイルからバイト数を指定して読み込むことができます。
sysread $fh, $buffer, $byte_size;
第一引数は、ファイルハンドル、第二引数は、読み込んだデータを格納するスカラ変数、第三引数は、バイトサイズを指定します。
sysread関数を実行すると、第二引数で指定したスカラ変数に、指定したバイトサイズのデータが読み込まれます。sysread関数はsyswrite関数と対になっています。
read関数との違いは、sysread関数においてはバッファリングがされないという点です。
sysread関数に関する詳しい解説は公式ドキュメントをご覧ください。
sysread関数のサンプル
sysread関数のサンプルプログラムです。sysread関数を使ってファイルから8バイト読み込んでいます。
use strict; use warnings; # 読み込むファイルを開く my $file = 'data.txt'; open my $fh, '<', $file or die "Can't open file $file: $!"; # sysread関数 my $buffer; my $byte_size = 8; sysread $fh, $buffer, $byte_size; # 読み込んだデータを出力 print $buffer;