Perl入門ゼミ

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

fileno関数 - ファイルディスクリプタを取得する

ファイルディスクリプタを取得には、fileno関数を使用します。引数には、開かれているファイルハンドルを指定します。

$ret = fileno $fh;

ファイルディスクリプタとは、ファイルや標準入出力などをOSが識別するために用いる識別子のことです。これは整数値です。

サンプル

fileno関数を使ってファイルディスクリプタを取得するサンプルです。

use strict;
use warnings;

# コマンドライン引数からファイル名を取得
my $file = shift;

# ファイルを開く
open(my $fh, '<', 'file)
  or die "Can't open file $file:$!";

# ファイルディスクリプタを取得
my $fileno = fileno $fh;

# 出力
print "$fileno\n";

出力結果

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