Как отличить файл от каталога в Perl
Допустим, вы создаете Perl-скрипт для обхода файловой системы и записи того, что он находит. Когда вы открываете дескрипторы файлов, вам нужно знать, имеете ли вы дело с реальным файлом или с каталогом, к которому вы относитесь по-разному. Вы хотите создать каталог, чтобы продолжить рекурсивный анализ файловой системы. Самый быстрый способ отличить файлы от каталогов — использовать встроенные в Perl операторы проверки файлов. В Perl есть операторы, которые можно использовать для проверки различных аспектов файла. Оператор -f используется для идентификации обычных файлов, а не каталогов или файлов других типов.
Использование оператора проверки файлов -f
Сначала вы создаете две строки: одну, указывающую на файл, и одну, указывающую на каталог. Далее протестируйте $filename с -f оператор, который проверяет, является ли что-то файлом. Это напечатает «Это файл». Если вы попробуете оператор -f для каталога, он не будет напечатан. Затем сделайте наоборот для $директорияимя и подтвердите, что это действительно каталог. Объедините это с глобусом каталога, чтобы разобраться, какие элементы являются файлами, а какие — каталогами: