Quelques méthodes utiles de FileHandle
Certaines méthodes couramment utilisées du module FileHandle sont les suivantes :
Méthode | But |
dire | Il est utilisé pour compter la taille du fichier en octets. |
obtenirc | Il est utilisé pour lire chaque caractère du contenu du fichier. |
chercher | Il est utilisé pour déplacer le pointeur de fichier vers une position particulière. |
eof | Il indique la fin du fichier. |
fermer | Il est utilisé pour fermer le gestionnaire de fichiers précédemment défini. |
Exemples de gestionnaire de fichiers Perl
Différentes utilisations du module FileHandle sont présentées dans cette partie du didacticiel à l'aide de plusieurs exemples.
Exemple 1 : créer un nouveau fichier
Créez un fichier Perl avec le script suivant qui crée un nouveau fichier à l'aide du module FileHandle. Un nom de fichier est extrait de l'utilisateur et vérifié s'il existe ou non. Si le fichier n'existe pas, le fichier est ouvert en écriture en créant un objet de la classe « FileHandle » après avoir attendu 1 seconde.
#!/usr/bin/perl
utiliser strict ;
utiliser avertissements ;
utiliser 5.34.0 ;
utiliser FileHandle ;
#Prenez le nom du fichier de l'utilisateur pour créer
imprimer 'Entrez le nom du fichier :' ;
mon $f = <> ;
grignoter ( $f ) ;
#Vérifiez si le fichier existe déjà ou non
si ( -e $f )
{
#Imprimer un message si le fichier existe
dire 'Le fichier existe déjà.' ;
}
autre
{
#Créer un objet gestionnaire de fichiers
mon $FileHandler = FileHandle- > nouveau ;
dire 'Ecrire dans le fichier...' ;
#Attendez 1 seconde
dormir ( 1 ) ;
#Ouvrez le fichier en écriture
si ( $FileHandler- > ouvrir ( '> $f' ) )
{
#Écrivez une ligne de texte dans le fichier
imprimer $Gestionnaire de fichiers 'C'est un message test. \n C'est la deuxième ligne. \n ' ;
#Fermez le gestionnaire de fichiers
$FileHandler- > fermer ;
}
}
Sortir:
D'après le résultat, le fichier « test.txt » n'existait pas auparavant et ce fichier est créé avec deux lignes de texte. Ensuite, la commande « cat » est exécutée pour vérifier si le fichier est créé avec succès avec le contenu ou non :
Le script est exécuté à nouveau avec la même valeur d'entrée et le message « Le fichier existe déjà » est imprimé ici car le fichier « test.txt » est créé auparavant.
Exemple 2 : Lire le contenu du fichier
Créez un fichier Perl avec le script suivant qui lit le contenu d'un fichier à l'aide de la classe « FileHandle » si le fichier existe. Le nom de fichier provient de l'utilisateur.
#!/usr/bin/perlutiliser strict ;
utiliser avertissements ;
utiliser 5.34.0 ;
utiliser FileHandle ;
#Prenez le nom du fichier de l'utilisateur pour créer
mon $f = <> ;
mon $f = ;
grignoter ( $f ) ;
#Vérifiez si le fichier existe déjà ou non
si ( -e $f )
{
#Ouvrez le fichier en lecture
mon $FileHandler = FileHandle- > nouveau ( ' < $f' ) ;
#Imprimer le contenu du fichier
imprimer < $Gestionnaire de fichiers > ;
#Fermez le gestionnaire de fichiers
fermer $FileHandler ;
}
Sortir:
Le contenu du fichier « test.txt » est imprimé dans la sortie car il existe à l'emplacement actuel :
Exemple 3 : ajouter un contenu dans un fichier
Créez un fichier Perl avec le script suivant qui ajoute le contenu dans un fichier non vide et imprimez la taille du fichier en octets. Le nom de fichier provient de l'utilisateur. Si le fichier existe et contient les données, une ligne de texte est ajoutée à la fin du fichier. Sinon, un message est imprimé.
#!/usr/bin/perlutiliser strict ;
utiliser avertissements ;
utiliser 5.34.0 ;
utiliser FileHandle ;
#Prenez le nom du fichier de l'utilisateur pour créer
imprimer 'Entrez le nom du fichier :' ;
mon $f = <> ;
grignoter ( $f ) ;
#Vérifiez si le fichier existe déjà et non vide ou non
si ( -s $f )
{
mon $FileHandler = FileHandle- > nouveau ( ' >> $f' ) ;
#Imprimer la taille du fichier
imprimer 'La taille du fichier est de ' . $FileHandler- > dire. ' octets. \n ' ;
dire 'Ajouter du contenu au fichier...' ;
#Attendez 1 seconde
dormir ( 1 ) ;
#Écrire le contenu à la fin du fichier
imprimer $Gestionnaire de fichiers 'C'est une nouvelle ligne. \n ' ;
#Fermez le gestionnaire de fichiers
$FileHandler- > fermer ;
}
autre
{
dire 'Fichier ne existe pas.' ;
}
Sortir:
Selon le résultat, une nouvelle ligne est ajoutée au fichier « test.txt » et la taille du fichier est de 45 octets. Ensuite, la commande « cat » est exécutée pour vérifier si le contenu est correctement ajouté dans le fichier ou non :
Conclusion
Le module FileHandle est l'une des options de Perl pour lire, écrire ou ajouter des fichiers. Trois utilisations différentes de ce module sont présentées dans ce didacticiel à l'aide d'exemples simples.