Comment lire et écrire des fichiers en Perl

Perl est un langage idéal pour travailler avec des fichiers. Il a la capacité de base de n'importe quel script shell et d'outils avancés, tels que les expressions régulières, qui le rendent utile. Pour travailler avec des fichiers Perl, vous devez d'abord apprendre à les lire et à y écrire. La lecture d'un fichier se fait en Perl en ouvrant un descripteur de fichier vers une ressource spécifique.

Lire un fichier en Perl

Pour travailler avec l'exemple de cet article, vous aurez besoin d'un fichier que le script Perl pourra lire. Créez un nouveau document texte appelé data.txt et placez-le dans le même répertoire que le programme Perl ci-dessous.

Dans le fichier lui-même, tapez simplement quelques noms - un par ligne:

Lorsque vous exécutez le script, la sortie doit être identique au fichier lui-même. Le script ouvre simplement le fichier spécifié et le boucle ligne par ligne, imprimant chaque ligne au fur et à mesure.

Ensuite, créez un descripteur de fichier appelé MYFILE, ouvrez-le et pointez-le vers le fichier data.txt.

Utilisez ensuite une simple boucle while pour lire automatiquement chaque ligne du fichier de données une par une. Cela place la valeur de chaque ligne dans la variable temporaire $ _ pour une boucle.

À l'intérieur de la boucle, utilisez la fonction chomp pour effacer les sauts de ligne à la fin de chaque ligne, puis imprimez la valeur de $ _ pour montrer qu'elle a été lue.

Enfin, fermez le descripteur de fichier pour terminer le programme.

Écrire dans un fichier en Perl

Prenez le même fichier de données avec lequel vous avez travaillé tout en apprenant à lire un fichier en Perl. Cette fois, vous allez lui écrire. Pour écrire dans un fichier en Perl, vous devez ouvrir un descripteur de fichier et le pointer vers le fichier que vous écrivez. Si vous utilisez Unix, Linux ou un Mac, vous devrez peut-être également vérifier les autorisations de votre fichier pour voir si votre script Perl est autorisé à écrire dans le fichier de données.

Si vous exécutez ce programme, puis exécutez le programme de la section précédente sur la lecture d'un fichier en Perl, vous verrez qu'il a ajouté un nom de plus à la liste.

En fait, chaque fois que vous exécutez le programme, il ajoute un autre "Bob" à la fin du fichier. Cela se produit car le fichier a été ouvert en mode ajout. Pour ouvrir un fichier en mode ajout, il suffit de préfixer le nom du fichier avec le >> symbole. Cela indique à la fonction ouverte que vous souhaitez écrire dans le fichier en plaçant davantage sur la fin de celui-ci.

Si, à la place, vous souhaitez remplacer le fichier existant par un nouveau, vous utilisez le > un seul symbole supérieur à pour indiquer à la fonction ouverte que vous voulez un nouveau fichier à chaque fois. Essayez de remplacer le >> par un> et vous voyez que le fichier data.txt est réduit à un seul nom - Bob - chaque fois que vous exécutez le programme.

Ensuite, utilisez la fonction d'impression pour imprimer le nouveau nom dans le fichier. Vous imprimez sur un descripteur de fichier en suivant l'instruction print avec le descripteur de fichier.

Enfin, fermez le descripteur de fichier pour terminer le programme.