関数順 インデックス
目的別 インデックス

構文
 
 -r ファイル名
 -w ファイル名
 -x ファイル名
 -e ファイル名
 -z ファイル名
 -s ファイル名
 -f ファイル名
 -d ファイル名
 -l ファイル名

返り値
 
 (-r)読み込み可能なら真
 (-w)書き込み可能なら真
 (-x)実行可能なら真
 (-e)存在するなら真
 (-z)ファイル・サイズが0なら真
 (-s)ファイル・サイズが0以外ならファイル・サイズ
 (-f) ファイルであるなら真
 (-d)ディレクトリであるなら真
 (-l) シンボリック・リンクなら真

説明

  • ファイル・テスト演算子を使うと,ファイルの情報を簡単に取得することができます。
  • perldocコマンド(perldoc -f -X)で演算子の一覧を見ることができます。

使用例

config.datが存在するかどうかを確認する
#!/usr/bin/perl
use strict;
use warnings;

my $file_name = 'config.dat';
if (-e $file_name) {
  print "$file_nameが存在します。\n";
} else {
  print "$file_nameが存在しません。\n";
}
ファイルconfig.datが存在するかどうかを確認する
#!/usr/bin/perl
use strict;
use warnings;

my $file_name = 'config.dat';
if (-f $file_name) {
  print "$file_nameが存在します。\n";
} else {
  print "$file_nameが存在しません。\n";
}
※-eを使った場合対象がファイル以外のもの(例えばディレクトリ)でも真となってしまうので,ファイルとそれ以外のものとを区別したい場合は-fを使い ます

ファイルconfig.datのファイルサイズを表示する
#!/usr/bin/perl
use strict;
use warnings;

my $file_name = 'config.dat';
if (-f $file_name) {
  my $size = -s _; # $file_nameではなく_を使って情報を再利用している
  printf "%sのサイズは%dバイトです。\n", $file_name, $size;
} else {
  print "$file_nameが存在しません。\n";
}
※-sを使うとファイル・サイズを調べられます。 _を使うと前回のファイル・テスト演算子利用時のファイル情報を再利用することができて,システムへの負荷を減らすことができます