ディレクトリ構造の表示
任意のディレクトリ構造を分析してその構造(ファイル名をkey)をXMLなりハッシュに吐き出すことができるモジュールなり方法を模索しています。
XMLでいうXML::Simpleみたいなものです。
参考------------------------------------------------------
【XML分析:XML::Simple】→【ハッシュ:Data::Dumper】
【XML分析:XML::Simple】→【XMLファイル:XML::Simple】
----------------------------------------------------------
グーグルなどで検索してみた限りでは、任意のディレクトリ内分析をしてくれてXMLなりハッシュに吐き出してくれるモジュールはなさそう。
そこでFile::Pathを使ってディレクトリ内を洗ってその構造を動的にハッシュにしたいと考えいます。しかし残念なことに予め構造がわかっている規則的なデータを動的にハッシュにすることはできるのですが、実際に分析するまでその階層すらわからない不規則なツリー状のデータ構造を動的にハッシュ化するプログラミング能力を持ち合わせていません。
そこで質問しかないということになりました。ぜひお知恵をお借りしたいと思っています。よろしくお願いいたします。
本当に簡単ですがこのような不規則なディレクトリ構造を動的にハッシュにしたいと思っています。この例ではディレクトリ構造がわかってますが、分析するまでわからないものとしてみて頂ければと思います。
test1(dir)―――――test2(dir)――――――――data1.txt(file)
| |
―data1.txt(file) ―data2.txt(file)
|
―data2.txt(file)
$test1 = {
'test2' => {
'data1' =>
{
'path' => 'test1/data.txt',
'parent_dir' => 'test2'
},
'data2' =>
{
'path' => 'test2/data.txt',
'parent_dir' => 'test2'
},
},
'data1' =>
{
'path' => 'test1/data.txt',
'parent_dir' => 'test1'
},
'data2' =>
{
'path' => 'test2/data.txt',
'parent_dir' => 'test1'
}
};