Comment savoir si un fichier existe en Perl

Perl dispose d'un ensemble d'opérateurs de test de fichiers utiles qui peuvent être utilisés pour voir si un fichier existe ou non. Parmi eux, -e, qui vérifie si un fichier existe. Ces informations peuvent vous être utiles lorsque vous travaillez sur un script qui a besoin d'accéder à un fichier spécifique et que vous voulez vous assurer que le fichier est là avant d'effectuer des opérations. Si, par exemple, votre script possède un journal ou un fichier de configuration dont il dépend, vérifiez-le d'abord. L'exemple de script ci-dessous génère une erreur descriptive si aucun fichier n'est trouvé à l'aide de ce test.

#! / usr / bin / perl
$ filename = '/path/to/your/file.doc';
if (-e $ filename)
imprimer "Le fichier existe!";

Tout d'abord, vous créez une chaîne qui contient le chemin d'accès au fichier que vous souhaitez tester. Ensuite, vous enveloppez le -e (existe) dans un bloc conditionnel afin que l'instruction print (ou tout ce que vous y mettez) ne soit appelée que si le fichier existe. Vous pouvez tester l'opposé - que le fichier n'existe pas - en utilisant le sauf si conditionnel:

sauf (-e $ filename) 
imprimer "Le fichier n'existe pas!";

Autres opérateurs de test de fichiers

Vous pouvez tester deux ou plusieurs choses à la fois en utilisant les opérateurs "et" (&&) ou "ou" (||). Certains autres opérateurs de test de fichiers Perl sont:

  • -r vérifie si le fichier est lisible
  • -w vérifie si le fichier est accessible en écriture
  • -X vérifie si le fichier est exécutable
  • -z vérifie si le fichier est vide
  • -F vérifie si le fichier est un fichier ordinaire
  • -ré vérifie si le fichier est un répertoire
  • -l vérifie si le fichier est un lien symbolique

L'utilisation d'un test de fichier peut vous aider à éviter les erreurs ou à vous informer d'une erreur qui doit être corrigée.