• ベストアンサー

IF分についてる-d -e -f -r -w -xって何?

KENTさんのフリープログラムのコードをフォローしているのですが、 if (-e $sendmail) みたいなコードが出てきます。 他にも  if (-f $_)  if (-d $tmpdir)  if (-r $tmpdir && -w $tmpdir && -x $tmpdir) などが出てきます。 この  -d -e -f -r -w -x って、一体何なのでしょう。

質問者が選んだベストアンサー

  • ベストアンサー
  • mtaka2
  • ベストアンサー率73% (867/1179)
回答No.1

ファイルテスト演算子です。 -e は、引数が「実行ファイルかどうか」をチェックします。 http://www.tohoho-web.com/wwwperl1.htm#FileTest

makoji
質問者

補足

ありがとうございます。勉強になりました。 ちょっと疑問に思うのが  -f 通常ファイルかどうかを検査する演算子とのことですが、通常じゃないファイルってどんなファイルでしょう?

その他の回答 (2)

  • ralf124c
  • ベストアンサー率52% (232/446)
回答No.3

すみません。 補足です。 標準入出力ファイルはデバイスファイルのくくりでした。 混乱させてすいません。

makoji
質問者

お礼

なるほど。 Windowsならテキストファイルにせよバイナリファイルにせよ、そこらにありふれていて、これらの他に通常ではないファイルってどんなだ?って疑問が湧きますけど、UNIXならディレクトリ、デバイス、ショートカットこれら全部がファイルなんですね。 ありがとうございました。

  • ralf124c
  • ベストアンサー率52% (232/446)
回答No.2

> 通常ファイルかどうかを検査する演算子とのことですが、通常じゃないファイルってどんなファイルでしょう? ディレクトリファイル 標準入出力ファイル デバイスファイル 等のことです。 参考URLに過去に解説したので参照してください。

参考URL:
http://hiroba.kodate.jp/qa4518179.html

関連するQ&A