Как мне собрать имена файлов из папки в список?

#perl #file

#perl #файл

Вопрос:

Я ищу способ собрать имена файлов в список с помощью Perl. Например, я захожу в папку с сотней различных имен файлов, начиная от текстовых файлов и заканчивая MP3, и я хотел бы поместить каждое имя файла в список. Как бы я это сделал? Я искал везде и, похоже, не могу в этом разобраться. Я дошел до использования chdir функции, но, похоже, я не могу прочитать имена файлов и распечатать их. Кто-нибудь может помочь?

Комментарии:

1. Тофу, я отредактировал твой пост, чтобы заменить вводящее в заблуждение слово. Если вы не согласны, вы можете просто отменить это.

2. спасибо Daxim, это звучит лучше. Извините за мой английский, потому что он не настолько хорош. Я ценю помощь daxim. (^_^)

Ответ №1:

Найдите функцию glob:

 my @allfiles = glob '*.*';
my @musics = glob '*.mp3';  

Ответ №2:

Один из способов — открыть текущий каталог и получить все его содержимое, что-то вроде:

 opendir(DIR, "yourDIR");
my @files = readdir(DIR); 
  

очевидно, что вы можете использовать grep как

 my @files = grep {...} readdir(DIR);
  

чтобы получить определенные типы файлов и т.д.