L'analyse de fichiers texte est l'une des raisons pour lesquelles Perl est un excellent outil d'exploration de données et de script.
Comme vous le verrez ci-dessous, Perl peut être utilisé pour reformater un groupe de texte. Si vous regardez le premier morceau de texte puis la dernière partie en bas de la page, vous pouvez voir que le code au milieu transforme le premier ensemble en deuxième.
Comment analyser des fichiers texte
Par exemple, construisons un petit programme qui ouvre un fichier de données séparé par des tabulations et analyse les colonnes en quelque chose que nous pouvons utiliser.
Dites, par exemple, que votre patron vous remet un fichier avec une liste de noms, de courriels et de numéros de téléphone, et veut que vous lisiez le fichier et faire quelque chose avec les informations, comme le mettre dans une base de données ou simplement l'imprimer dans un format joliment formaté rapport.
Les colonnes du fichier sont séparées par le caractère TAB et ressemblent à ceci:
Voici la liste complète avec laquelle nous travaillerons:
#! / usr / bin / perl
open (FICHIER, 'data.txt');
tandis que () {
chomp;
($ name, $ email, $ phone) = split ("\ t");
imprimer "Nom: $ nom \ n";
imprimer "Email: $ email \ n";
imprimer "Téléphone: $ téléphone \ n";
print "\ n";
}
Fermer le fichier);
sortie;
Remarque: Cela extrait du code du didacticiel sur comment lire et écrire des fichiers en Perl.
Ce qu'il fait d'abord, c'est d'ouvrir un fichier appelé data.txt (qui devrait résider dans le même répertoire que le script Perl). Ensuite, il lit le fichier dans la variable catchall $ _ ligne par ligne. Dans ce cas, $ _ est implicite et pas réellement utilisé dans le code.
Après avoir lu en ligne, tout espace est chomped à la fin de celui-ci. Ensuite, la fonction de fractionnement est utilisée pour couper la ligne sur le caractère de tabulation. Dans ce cas, l'onglet est représenté par le code \ t. À gauche du signe de la division, vous verrez que j'assigne un groupe de trois variables différentes. Ceux-ci représentent un pour chaque colonne de la ligne.
Enfin, chaque variable qui a été séparée de la ligne du fichier est imprimée séparément afin que vous puissiez voir comment accéder aux données de chaque colonne individuellement.
La sortie du script devrait ressembler à ceci:
Nom: Larry
Courriel: [email protected]
Tél: 111-1111
Nom: Curly
Courriel: [email protected]
Tél: 222-2222
Nom: Moe
Courriel: [email protected]
Tél: 333-3333
Bien que dans cet exemple, nous imprimions simplement les données, il serait trivialement facile de stocker ces mêmes informations analysées à partir d'un fichier TSV ou CSV, dans une base de données à part entière.