ディレクトリ構造をハッシュで表現

テスト用にディレクトリとファイルを作成するときは、

my $root = catfile('','tmp','test');
my $config = {
    'image' => {
        'thumbnail' => {
            '600x600' => {
                '000.jpg' => 'file',
                '001.jpg' => 'file',
                '002.jpg' => 'file',
            },
            '300x300' => {
                '000.jpg' => 'file',
                '001.jpg' => 'file',
                '002.jpg' => 'file',
            },
            '100x100' => 'dir',
        },
    },
    'js' => {
        'prototype.js' => 'file',
    },
};

という感じでハッシュでディレクトリ構造を記述しておいて、なんかのモジュールに渡すと、

/tmp/test/image/thumbnail/100x100/
/tmp/test/image/thumbnail/300x300/000.jpg
/tmp/test/image/thumbnail/300x300/001.jpg
/tmp/test/image/thumbnail/300x300/002.jpg
/tmp/test/image/thumbnail/600x600/000.jpg
/tmp/test/image/thumbnail/600x600/001.jpg
/tmp/test/image/thumbnail/600x600/002.jpg
/tmp/test/js/prototype.js

が作成されるといいなぁと思いました。
これをやってくれそうなモジュールをCPANで見つけられなかったので、自作しようとしています。


とりあえず書いたスクリプト。