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