我正在寻找遍历这些数据结构(基本上是一个目录结构),我通过给定的路径。迭代通过数据数组/散列
的目标是要列出根/基本路径,然后列出所有的子path
■如果它们存在和存在每个子path
,列出从子路径file
。
我知道这可能需要循环HoH或AoH。有人能告诉我这样做的perl技术吗?谢谢。
基准面:/工作/工程/供稿
$VAR1 = {
'recursive' => 'no',
'version' => '0.20.202.1.1101050227',
'time' => '2011-10-26T00:20:18+0000',
'filter' => '.*',
'path' => '/work/eng/feeds',
'directory' => [
{
'owner' => 'tst_act',
'group' => 'eng',
'permission' => 'drwxrwxr-x',
'path' => '/work/eng/feeds',
'accesstime' => '1970-01-01T00:00:00+0000',
'modified' => '2011-08-27T03:13:53+0000'
},
{
'owner' => 'tst_act',
'group' => 'eng',
'permission' => 'drwxr-xr-x',
'path' => '/work/eng/feeds/customer_care',
'accesstime' => '1970-01-01T00:00:00+0000',
'modified' => '2011-10-25T23:54:17+0000'
}
],
'exclude' => ''
};
下一等级:/工作/工程/供稿/ customer_care
$VAR1 = {
'recursive' => 'no',
'version' => '0.20.202.1.1101050227',
'time' => '2011-10-26T00:21:06+0000',
'filter' => '.*',
'path' => '/work/eng/feeds/customer_care',
'directory' => [
{
'owner' => 'tst_act',
'group' => 'eng',
'permission' => 'drwxr-xr-x',
'path' => '/work/eng/feeds/customer_care',
'accesstime' => '1970-01-01T00:00:00+0000',
'modified' => '2011-10-25T23:54:17+0000'
},
{
'owner' => 'tst_act',
'group' => 'eng',
'permission' => 'drwx------',
'path' => '/work/eng/feeds/customer_care/abc',
'accesstime' => '1970-01-01T00:00:00+0000',
'modified' => '2011-10-25T17:12:56+0000'
},
{
'owner' => 'tst_act',
'group' => 'eng',
'permission' => 'drwx------',
'path' => '/work/eng/feeds/customer_care/def',
'accesstime' => '1970-01-01T00:00:00+0000',
'modified' => '2011-10-25T21:05:50+0000'
},
{
'owner' => 'tst_act',
'group' => 'eng',
'permission' => 'drwx------',
'path' => '/work/eng/feeds/customer_care/test',
'accesstime' => '1970-01-01T00:00:00+0000',
'modified' => '2011-10-25T21:28:14+0000'
}
],
'exclude' => ''
};
还有一个层次:/工作/工程/供稿/ customer_care /测试(这里是文件存在)
$VAR1 = {
'recursive' => 'no',
'version' => '0.20.202.1.1101050227',
'time' => '2011-10-26T00:30:02+0000',
'filter' => '.*',
'file' => {
'owner' => 'tst_act',
'replication' => '3',
'blocksize' => '134217728',
'permission' => '-rw-------',
'path' => '/work/eng/feeds/customer_care/test/q_data_20111023.dat',
'modified' => '2011-10-26T00:29:46+0000',
'size' => '379085',
'group' => 'eng',
'accesstime' => '2011-10-26T00:29:46+0000'
},
'path' => '/work/eng/feeds/customer_care/test',
'directory' => {
'owner' => 'tst_act',
'group' => 'eng',
'permission' => 'drwx------',
'path' => '/work/eng/feeds/customer_care/test',
'accesstime' => '1970-01-01T00:00:00+0000',
'modified' => '2011-10-26T00:29:46+0000'
},
'exclude' => ''
};
你试过了什么?你遇到了哪些具体问题?你只需要知道'each','keys'和'values'的名字,或者阅读'perlreftut'? – derobert
如果我可以捕获每个键和值,那将是一个好的开始。 – jdamae