Perl入門ゼミ

テキスト処理、Linuxサーバー管理、Web開発ならPerl
  1. Perl
  2. 標準関数
  3. here

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;
Qiitaで
「3分間Perlテキストクッキング」
という連載を始めました。
テキスト処理を題材にして、3分くらいで読める分量で、書いていきます。
文字コード、テキストデータ、コンピュータにおけるテキストの扱いなど、ソフトウェアの基礎の話題も
3分間Perlテキストクッキング