Comment faire la distinction entre un fichier et un répertoire en Perl

click fraud protection

Supposons que vous construisez un script Perl pour parcourir un système de fichiers et enregistrer ce qu'il trouve. Lorsque vous ouvrez des descripteurs de fichiers, vous devez savoir si vous avez affaire à un fichier réel ou à un répertoire que vous traitez différemment. Vous souhaitez glob un répertoire, afin que vous puissiez continuer à analyser récursivement le système de fichiers. Le moyen le plus rapide de distinguer les fichiers des répertoires est d'utiliser la fonction intégrée de PerlOpérateurs de test de fichiers. Perl a des opérateurs que vous pouvez utiliser pour tester différents aspects d'un fichier. L'opérateur -f est utilisé pour identifier des fichiers normaux plutôt que des répertoires ou d'autres types de fichiers.

Tout d'abord, vous créez deux cordes: un pointant sur un fichier et un pointant sur un répertoire. Ensuite, testez le $ filename avec le -F, qui vérifie si quelque chose est un fichier. Cela affichera "Ceci est un fichier." Si vous essayez l'opérateur -f dans le répertoire, il ne s'imprime pas. Ensuite, faites le contraire pour le

instagram viewer
$ nom_répertoire et confirmez qu'il s'agit bien d'un répertoire. Combinez cela avec un répertoire glob pour trier quels éléments sont des fichiers et quels sont des répertoires:

instagram story viewer