Как определить файл из каталога в Perl

Допустим, вы создаете сценарий Perl для обхода файловой системы и записи того, что он находит. Когда вы открываете дескрипторы файлов, вам нужно знать, имеете ли вы дело с реальным файлом или с каталогом, к которому вы относитесь по-разному. Вы хотите глобализировать каталог, чтобы продолжить рекурсивный синтаксический анализ файловой системы. Самый быстрый способ отличить файлы от каталогов – использовать встроенные в Perl операторы проверки файлов. В Perl есть операторы, которые можно использовать для тестирования различных аспектов файла. Оператор -f используется для идентификации обычных файлов, а не каталогов или других типов файлов.

Использование оператора проверки файлов -f

 #!/usr/bin/perl -w 
$ filename = '/path/to/your/file.doc';
$directoryname ='/path/to/your/ directory ';
if (-f $ filename) {
print "Это файл.";
}
if (-d $ имя_директора) {
print "Это каталог.";
}

Сначала вы создаете две строки: одну указывающий на файл, а второй – на каталог. Затем проверьте $ filename с помощью оператора -f , который проверяет, не является ли что-то файлом. Будет напечатано «Это файл». Если вы попробуете использовать для каталога оператор -f, он не будет печатать. Затем сделайте противоположное для $ имя_директора и убедитесь, что это действительно каталог. Объедините это с глобусом каталога, чтобы отсортировать, какие элементы являются файлами, а какие – каталогами:

 #!/Usr/bin/perl -w 
@files = ;
foreach $ file (@files) {
if (-f $ file) {
print "Это файл:". $ file;
}
if (-d $ file) {
print "Это каталог:". $ file;
}
}

Полный список операторов тестирования файлов Perl доступен в Интернете .

Оцените статью
recture.ru
Добавить комментарий