Perl入門ゼミ

テキスト処理、Linuxサーバー管理、Web開発ならPerl
  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関数で例外を発生させてプログラムを終了させます。

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

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