パスを指定して部分的に静的生成するblosxomのプラグインを作っていたのですが、存在しないディレクトリ以下にファイルを吐き出すときに、再帰的にディレクトリ作成をするコードを書くのがメンドウだったので、CPAN漁ってみました。File::Pathというモジュールにそういったサブルーチンがあるようで。

使い方は、

my @dirs = mkpath('/home/nagashima/public_html/foo/bar');

だけと、とっても簡単でスバラシイ。@dirsには作成したディレクトリのパスが入るみたい。

my $num = rmtree('/home/nagashima/public_html');

というような、ファイルとディレクトリを全て削除してくれるサブルーチンもあるようだ。怖くて使えないよ。

なかなかうまく探せなかったので、誰か日本語で逆引きCPANとか作ってください。機能からモジュール探せる奴。