Alcuni metodi utili di FileHandle
Alcuni metodi comunemente usati del modulo FileHandle sono i seguenti:
Metodo | Scopo |
raccontare | Viene utilizzato per contare la dimensione del file in byte. |
getc | Viene utilizzato per leggere ogni carattere del contenuto del file. |
cercare | Viene utilizzato per spostare il puntatore del file in una posizione particolare. |
eof | Indica la fine del file. |
vicino | Viene utilizzato per chiudere il gestore di file precedentemente definito. |
Esempi di Perl FileHandle
Diversi usi del modulo FileHandle sono mostrati in questa parte del tutorial utilizzando più esempi.
Esempio 1: creare un nuovo file
Crea un file Perl con il seguente script che crea un nuovo file utilizzando il modulo FileHandle. Un nome file viene preso dall'utente e viene controllato se esiste o meno. Se il file non esiste, il file viene aperto in scrittura creando un oggetto della classe “FileHandle” dopo aver atteso 1 secondo.
#!/usr/bin/perl
usare rigoroso ;
utilizzo avvertimenti ;
utilizzare 5.34.0 ;
utilizzare FileHandle ;
#Prendi il nome del file dall'utente da creare
stampa 'Inserisci il nome del file:' ;
il mio $ f = <>;
masticare ( $ f ) ;
#Verifica se il file esiste già o meno
Se ( -e $f )
{
#Stampa un messaggio se il file esiste
Dire 'Il file esiste già.' ;
}
altro
{
#Crea un oggetto gestore di file
il mio $FileHandler = FileHandle- > nuovo ;
Dire 'Scrittura nel file...' ;
#Attendere 1 secondo
sonno ( 1 ) ;
#Aprire il file per la scrittura
Se ( $FileHandler- > aprire ( '>$f' ) )
{
#Scrivi una riga di testo nel file
stampa $FileHandler 'È un messaggio di prova. \N È la seconda riga. \N ' ;
#Chiudere il gestore dei file
$FileHandler- > vicino ;
}
}
Produzione:
Secondo l'output, il file 'test.txt' non esisteva prima e questo file viene creato con due righe di testo. Quindi, viene eseguito il comando 'cat' per verificare se il file è stato creato correttamente con il contenuto o meno:
Lo script viene eseguito nuovamente con lo stesso valore di input e qui viene stampato il messaggio 'Il file esiste già' perché il file 'test.txt' è stato creato prima.
Esempio 2: leggere il contenuto del file
Crea un file Perl con il seguente script che legge il contenuto di un file utilizzando la classe 'FileHandle' se il file esiste. Il nome del file viene preso dall'utente.
#!/usr/bin/perlusare rigoroso ;
utilizzo avvertimenti ;
utilizzare 5.34.0 ;
utilizzare FileHandle ;
#Prendi il nome del file dall'utente da creare
il mio $ f = <>;
il mio $ f = ;
masticare ( $ f ) ;
#Verifica se il file esiste già o meno
Se ( -e $f )
{
#Aprire il file per la lettura
il mio $FileHandler = FileHandle- > nuovo ( '<$f' ) ;
#Stampa il contenuto del file
stampa < $FileHandler >;
#Chiudere il gestore dei file
chiudi $FileHandler ;
}
Produzione:
Il contenuto del file 'test.txt' viene stampato nell'output perché esiste nella posizione corrente:
Esempio 3: aggiungere un contenuto a un file
Crea un file Perl con il seguente script che aggiunge il contenuto in un file non vuoto e stampa la dimensione del file in byte. Il nome del file viene preso dall'utente. Se il file esiste e contiene i dati, alla fine del file viene aggiunta una riga di testo. Altrimenti viene stampato un messaggio.
#!/usr/bin/perlusare rigoroso ;
utilizzo avvertimenti ;
utilizzare 5.34.0 ;
utilizzare FileHandle ;
#Prendi il nome del file dall'utente da creare
stampa 'Inserisci il nome del file:' ;
il mio $ f = <>;
masticare ( $ f ) ;
#Verifica se il file esiste già e non è vuoto oppure no
Se ( -s $f )
{
il mio $FileHandler = FileHandle- > nuovo ( ' >> $f' ) ;
#Stampa la dimensione del file
stampa 'La dimensione del file è ' . $FileHandler- > raccontare. ' byte. \N ' ;
Dire 'Aggiunta di contenuto al file...' ;
#Attendere 1 secondo
sonno ( 1 ) ;
#Scrivi il contenuto alla fine del file
stampa $FileHandler 'È una linea nuova. \N ' ;
#Chiudere il gestore dei file
$FileHandler- > vicino ;
}
altro
{
Dire 'Il file non esiste.' ;
}
Produzione:
Secondo l'output, al file 'test.txt' viene aggiunta una nuova riga e la dimensione del file è di 45 byte. Quindi, viene eseguito il comando 'cat' per verificare se il contenuto è stato aggiunto correttamente al file o meno:
Conclusione
Il modulo FileHandle è una delle opzioni di Perl per leggere, scrivere o accodare i file. Tre diversi usi di questo modulo sono mostrati in questo tutorial utilizzando semplici esempi.