gpt4 book ai didi

perl - 如何在同一目录上多次有效地使用 Perl 的 readdir?

转载 作者:行者123 更新时间:2023-12-01 05:12:27 25 4
gpt4 key购买 nike

我有一个使用 Perl 的 readdir() 的问题。我想收集目录中具有我指定的相同前缀文件名的所有文件。因此,对于每个前缀,我需要使用 Perl 的 readdir() 来 grep 所有相关文件。

假设前缀是“abc”,有几个文件名为“abc_1”、“abc_2”等。

但是,我注意到如果我将 opendir、closedir 放在循环之外(循环遍历文件名前缀列表),我只能从目录中提取第一个前缀——以下所有的 grepping 都失败了。如果我选择在循环中每次都调用 opendir 和 closedir,它运行良好,但恐怕它根本没有效率。

我的问题是我怎样才能使它更有效率?奇怪的是我不能在循环中多次调用 readdir 。

非常感谢!

-斤

最佳答案

目录(和文件)句柄是迭代器。从一个读取消耗数据,您需要存储该数据或重置迭代器的位置。关闭和重新开放是艰难的方式;使用 rewinddir 反而。

或者,使用 glob 一步完成读取和过滤。

关于perl - 如何在同一目录上多次有效地使用 Perl 的 readdir?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1993336/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com