我正在寻找一种使用Perl将文件名收集到列表中的方法。例如,我进入一个包含一百个不同文件名的文件夹,从文本文件到MP3,我想将每个文件名放在一个列表中。我该怎么办?我到处寻找,似乎无法弄明白。我已经使用chdir
函数,但我似乎无法读取文件名并打印它们。有人可以帮忙吗?
答案 0 :(得分:7)
一种方法是打开当前目录,并获取其所有内容,例如:
opendir(DIR, "yourDIR");
my @files = readdir(DIR);
显然你可以使用grep
之类的
my @files = grep {...} readdir(DIR);
获取特定类型的文件等。
答案 1 :(得分:7)
查找函数glob:
my @allfiles = glob '*.*';
my @musics = glob '*.mp3';