Alguns mètodes útils de FileHandle
Alguns mètodes d'ús habitual del mòdul FileHandle són els següents:
Mètode | Propòsit |
dir | S'utilitza per comptar la mida del fitxer en bytes. |
getc | S'utilitza per llegir cada caràcter del contingut del fitxer. |
buscar | S'utilitza per moure el punter del fitxer a una posició determinada. |
eof | Indica el final del fitxer. |
Tanca | S'utilitza per tancar el gestor de fitxers definit anteriorment. |
Exemples de Perl FileHandle
En aquesta part del tutorial es mostren diferents usos del mòdul FileHandle amb diversos exemples.
Exemple 1: creeu un fitxer nou
Creeu un fitxer Perl amb el següent script que crea un fitxer nou mitjançant el mòdul FileHandle. Es pren un nom de fitxer de l'usuari i es comprova si existeix o no. Si el fitxer no existeix, el fitxer s'obre per escriure mitjançant la creació d'un objecte de la classe 'FileHandle' després d'esperar 1 segon.
#!/usr/bin/perl
ús estricte ;
utilitzar avisos ;
utilitzar 5.34.0 ;
utilitzar FileHandle ;
#Preneu el nom del fitxer de l'usuari per crear-lo
imprimir 'Introduïu el nom del fitxer:' ;
el meu $f = <>;
picar ( $f ) ;
#Comprova si el fitxer ja existeix o no
si ( -e $f )
{
#Imprimeix un missatge si el fitxer existeix
dir 'El fitxer ja existeix'. ;
}
altra cosa
{
#Crea un objecte gestor de fitxers
el meu $FileHandler = FileHandle- > nou ;
dir 'Escrivint al fitxer...' ;
#Espereu 1 segon
dormir ( 1 ) ;
#Obre el fitxer per escriure
si ( $FileHandler- > obert ( '> $f' ) )
{
#Escriu una línia de text al fitxer
imprimir $FileHandler 'És un missatge de prova. \n És la segona línia. \n ' ;
#Tanqueu el gestor de fitxers
$FileHandler- > Tanca ;
}
}
Sortida:
Segons la sortida, el fitxer 'test.txt' no existia abans i aquest fitxer es crea amb dues línies de text. A continuació, s'executa l'ordre 'cat' per comprovar si el fitxer s'ha creat correctament amb el contingut o no:
L'script s'executa de nou amb el mateix valor d'entrada i el missatge 'File already exists' s'imprimeix aquí perquè el fitxer 'test.txt' s'ha creat abans.
Exemple 2: llegiu el contingut del fitxer
Creeu un fitxer Perl amb el següent script que llegeix el contingut d'un fitxer mitjançant la classe 'FileHandle' si el fitxer existeix. El nom del fitxer es pren de l'usuari.
#!/usr/bin/perlús estricte ;
utilitzar avisos ;
utilitzar 5.34.0 ;
utilitzar FileHandle ;
#Preneu el nom del fitxer de l'usuari per crear-lo
el meu $f = <>;
el meu $f = ;
picar ( $f ) ;
#Comprova si el fitxer ja existeix o no
si ( -e $f )
{
#Obre el fitxer per llegir-lo
el meu $FileHandler = FileHandle- > nou ( ' < $f' ) ;
#Imprimeix el contingut del fitxer
imprimir < $FileHandler >;
#Tanqueu el gestor de fitxers
tanca $FileHandler ;
}
Sortida:
El contingut del fitxer 'test.txt' s'imprimeix a la sortida perquè existeix a la ubicació actual:
Exemple 3: afegiu un contingut a un fitxer
Creeu un fitxer Perl amb el següent script que afegeix el contingut a un fitxer no buit i imprimiu la mida del fitxer en bytes. El nom del fitxer es pren de l'usuari. Si el fitxer existeix i conté les dades, s'afegeix una línia de text al final del fitxer. En cas contrari, s'imprimeix un missatge.
#!/usr/bin/perlús estricte ;
utilitzar avisos ;
utilitzar 5.34.0 ;
utilitzar FileHandle ;
#Preneu el nom del fitxer de l'usuari per crear-lo
imprimir 'Introduïu el nom del fitxer:' ;
el meu $f = <>;
picar ( $f ) ;
#Comproveu si el fitxer ja existeix i no està buit o no
si ( -s $f )
{
el meu $FileHandler = FileHandle- > nou ( ' >> $f' ) ;
#Imprimeix la mida del fitxer
imprimir 'La mida del fitxer és' . $FileHandler- > dir. 'bytes. \n ' ;
dir 'S'està afegint contingut al fitxer...' ;
#Espereu 1 segon
dormir ( 1 ) ;
#Escriu contingut al final del fitxer
imprimir $FileHandler 'És una línia nova. \n ' ;
#Tanqueu el gestor de fitxers
$FileHandler- > Tanca ;
}
altra cosa
{
dir 'L'arxiu no existeix.' ;
}
Sortida:
Segons la sortida, s'afegeix una nova línia al fitxer 'test.txt' i la mida del fitxer és de 45 bytes. A continuació, s'executa l'ordre 'cat' per comprovar si el contingut s'afegeix correctament al fitxer o no:
Conclusió
El mòdul FileHandle és una de les opcions de Perl per llegir, escriure o afegir els fitxers. En aquest tutorial es mostren tres usos diferents d'aquest mòdul amb exemples senzills.