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;
  • Perlとはテキスト処理の記述性とパフォーマンスに優れ、正規表現が言語に組み込まれているプログラミング言語です。
  • Linuxサーバーでのフィルタリングプログラム、複数行の文字列を処理、ファイル内容の検索・置換などが得意
  • Perlはgitopensslなど広く普及したUnix/Linuxミドルウェアの補助ツールとして採用実績あり。後方互換性とポータビリティの高さがひとつの理由と推測。
  • 大量のテキストを扱うWeb開発も得意。ロングテールSEOを意識したWebサイト、アドテクやソーシャルゲームでの50ms以内のJSONの生成など。