perl - 有没有办法使用 Net::SFTP::Foreign 递归地列出文件?
问题描述
我正在尝试使用Net::SFTP::Foreign
.
目前,我正在使用这一行来提取我的 SFTP 站点上的文件列表
my @newfilesLookedAtList = @{$sftp->ls(names_only => 1)}
它工作正常,但它只向我显示目录。我需要目录中的文件名列表。我在网站上找到了这个答案 - https://stackoverflow.com/a/32267575/5652660,其中指出我可以使用以下内容:
$sftp->find(@paths, %opts) 对给定目录 $path(或目录@path)进行递归搜索,并返回在标量上下文中找到的条目列表或它们的总数。
每个条目都是对带有两个键的哈希的引用:文件名,条目的完整路径;a,一个 Net::SFTP::Foreign::Attributes 对象,包含文件 atime、mtime、权限和大小。
当我应用上面的代码时:
my @newfilesLookedAtList = @{$sftp->find('/', names_only => 1)};
我的文件@newfilesLookedAtList
返回空。
解决方案
Net::SFTP::Foreign POD 声明find
返回一个list ,这意味着您不应该尝试取消引用它。改变:
my @newfilesLookedAtList = @{$sftp->find('/', names_only => 1)};
至:
my @newfilesLookedAtList = $sftp->find('/', names_only => 1);
推荐阅读
- angular - 在角度页面中显示全局错误消息
- flutter - 如何停止在颤振中覆盖同一文件?
- r - 如何使用我创建的包函数找到我的对象?
- waf - 如何将 libdl 添加到 waf 构建中?
- laravel - 带有 vuex 的 boostrapVue 中的模态事件
- python - 来自python中json属性的Matplotlib
- javascript - 渲染中的选项未加载 React JS
- sql - 来自 SQL 连接问题的查询结果问题。基本问题
- android - 键盘显示导致 Android TV 出现溢出错误
- xslt - 可以从 XSL 模板元素中的另一个文件中包含一块 xml 吗?