1. Perl
  2. 標準関数
  3. here

opendir関数 - ディレクトリをオープンする

opdndir関数を使うと、ディレクトリをオープンしてディレクトリハンドルを取得することができます。

opendir ディレクトリハンドル ディレクトリ名

ディレクトリハンドルには、未定義の変数を指定します。opendir関数は、以下のように使用します。

# ディレクトリ名
my $dir = 'study';

# ディレクトリオープン
opendir my $dh, $dir
  or die "Can't open directory $dir: $!"

第一引数には、未定義の変数を指定しますがmyによる変数宣言を同時に行っています。第二引数はディレクトリ名を指定しています。

もしディレクトリのオープンが失敗した場合は偽が返りますので、エラー処理をする必要があります。or演算子を使って、失敗した場合の処理を記述します。

die関数で例外を発生させてプログラムを終了させます。

「$!」という特殊変数には、ディレクトリオープンに失敗した理由が代入されているので、エラーメッセージに含めるようにしましょう。