Perl:如何找到已知子文件夹的父文件夹?

Jam*_*Goe 4 perl

我是Perl的新手,我在获取已知子文件夹的父文件夹时遇到了一些麻烦.所以我有一个子文件夹列表,让我们说A,B,C,D等.我知道它们都散布在标有(例如),1,2,3,4等的文件夹中.

所以它可以是这样的:1/A 1/B 2/C 3/D 3/E等

我只是想遍历每个文件夹并找到它的直接父目录.有任何想法吗?

编辑:将PERL更改为Perl:P

ike*_*ami 7

use File::Find::Rule qw( );

my @matches =
   File::Find::Rule
      ->name(qw( A B C D ))
      ->directory
      ->in('.');
Run Code Online (Sandbox Code Playgroud)

它处理深度目录就好了.

$ mkdir -p a/b/c/d/e/f/g/h/i/j/k/l

$ touch a/b/c/d/e/f/g/h/i/j/k/l/file

$ mkdir -p 0/1/2/3/4/5/6/7/8/9

$ touch 0/1/2/3/4/5/6/7/8/9/file

$ perl -MFile::Find::Rule -E'say for File::Find::Rule->in(".")'
.
a
a/b
a/b/c
a/b/c/d
a/b/c/d/e
a/b/c/d/e/f
a/b/c/d/e/f/g
a/b/c/d/e/f/g/h
a/b/c/d/e/f/g/h/i
a/b/c/d/e/f/g/h/i/j
a/b/c/d/e/f/g/h/i/j/k
a/b/c/d/e/f/g/h/i/j/k/l
a/b/c/d/e/f/g/h/i/j/k/l/file
0
0/1
0/1/2
0/1/2/3
0/1/2/3/4
0/1/2/3/4/5
0/1/2/3/4/5/6
0/1/2/3/4/5/6/7
0/1/2/3/4/5/6/7/8
0/1/2/3/4/5/6/7/8/9
0/1/2/3/4/5/6/7/8/9/file
Run Code Online (Sandbox Code Playgroud)