前節では、ディレクトリハンドルやディレクトリのオープンとクローズ等を見てきました。 この節では、ディレクトリの操作について紹介します。
まず新しいディレクトリを作るにはmkdir関数を使います。 mkdir関数の構文は次の通りです。
mkdir("ディレクトリ名", パーミッション);mkdir関数は、引数としてディレクトリ名のほかにパーミッションのモード(8進数表現)を受け取ります(パーミッションについては「§8.7 パーミッション」を参照)。 次に例を紹介します。
mkdir("newdir", 0777)
or die "Could not make directory:$!";上の例ではdie関数を使って、ディレクトリを作成できなかった場合のエラー処理をしています。 すでに存在するディレクトリを作成しようとすると、mkdir関数は偽を返すので注意が必要です。
次に、ディレクトリを削除するときにはrmdir関数を使います。
rmdir("ディレクトリ名");次に例を紹介します。
rmdir("newdir")
or die "Could not remove directory:$!";rmdir関数は、削除しようとしているディレクトリの中が空の場合にだけ、そのディレクトリを削除してくれます。 ですから、
mkdir("newdir", 0777)
or die "Could not make directory:$!";
open(FILE, ">./newdir/newfile");
close(FILE);
rmdir("newdir")
or die "Could not remove directory:$!";と言うスクリプトを実行するとエラーが出ます。 1度試してみてください。
Perlで作業ディレクトリを移動するときにはchdir関数を使います。 作業ディレクトリとは、パスのないファイル名を指定したときに、Perlがそのファイルを探す位置のことで、デフォルトではPerlを実行しているディレクトリのことです。
chdir("ディレクトリのパス");では例を紹介します。
chdir("..")
or die "Couldn't change directory to ..";
#1つ上のディレクトリへ移動この節ではディレクトリの作成、削除、移動について見てきました。 この章はこれでおしまいです。 次の章ではサブルーチンについて紹介します。