我用glob 看到了这个链接
这不是我想做的事情.
这是我的计划.为了在目录中搜索与字符串部分匹配的任何文件,将其作为参数提供给我的函数,比如说/home/username/sampledata和字符串data.
我为用户提供了一个选项,在执行时包含一个标志,强制是否检查子目录,当前默认情况下脚本不包含子目录.
包含子目录的伪代码看起来像这样.
我保存文件路径的数组是全局的
@fpaths;
foo($dir);
sub foo{
get a tmp array of all files
for ($i=0 ; $i<@tmp ; $i++) {
next if ( $tmp[$i]is a hidden file and !$hidden) ; #hidden is a flag too
if($tmp[$i] is file) {
push (@fpaths, $dir.$tmp[$i]);
}
if($tmp[$i] is dir) {
foo($dir.$tmp[$i]);
}
}
}
Run Code Online (Sandbox Code Playgroud)
看起来很稳固.
我希望实现的是保存完整路径名的每个文件的数组.
我不知道该怎么做的部分是获取每个文件的列表.希望这可以通过glob来完成.
我已经能够使用opendir/ readdir来读取每个文件,如果我知道如何检查结果是文件还是目录,我可以再次执行此操作.
所以我的问题是:
如何使用glob路径名来获取每个文件/子目录的数组
如何检查以前找到的数组上的项目是目录还是文件
谢谢大家