Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl:搜索中间目录名_Perl - Fatal编程技术网

Perl:搜索中间目录名

Perl:搜索中间目录名,perl,Perl,我试图找到一种有效的方法来查找和中间目录名。例如,我想在下面的路径/x1/x2/x3中获得“x2”目录名,给出路径/x1和名称x3 注意:我不知道完整路径/x1/x2/x3。我只知道/x1和名称x3。换句话说,我试图在/x1路径下搜索子目录x3的父目录 你能帮忙吗? 谢谢大家! 我建议您查看核心模块 splitdir类方法应该可以帮助您使用Borodin的解决方案。但如果您不想使用模块,请使用/拆分路径: my $dir = "/x1/x2/x3"; my $paths = (split "/"

我试图找到一种有效的方法来查找和中间目录名。例如,我想在下面的路径/x1/x2/x3中获得“x2”目录名,给出路径/x1和名称x3

注意:我不知道完整路径/x1/x2/x3。我只知道/x1和名称x3。换句话说,我试图在/x1路径下搜索子目录x3的父目录

你能帮忙吗?
谢谢大家!

我建议您查看核心模块

splitdir
类方法应该可以帮助您使用Borodin的解决方案。但如果您不想使用模块,请使用
/
拆分路径:

my $dir = "/x1/x2/x3";
my $paths = (split "/", $dir)[2];
print $paths, "\n";
输出:

x2

这是一个非常基本的操作,可以使用正则表达式或
拆分(“/”,$file)
来完成。但是,是否所有的文件名都是
/x1/x2/x3
?您是否有[比如说]
/x1/x2/x3/x4
[或更长]?那么,在这种情况下你想要什么?在我看来,
/x1
x3
[和丢弃
x2
]不如
/x1/x2
x3
有用——我正在尝试想象用例。这是一个微不足道的问题。你懂Perl吗?你做了什么研究,为什么结果不让你满意?谢谢你的回复。但这不是我想要做的。实际上,我不知道路径/x1/x2/x3。我只知道路径/x1和名称x3。换句话说,我正在尝试搜索/x1路径下包含x3子目录的父目录