Câteva metode utile de FileHandle
Câteva metode frecvent utilizate ale modulului FileHandle sunt următoarele:
Metodă | Scop |
spune | Este folosit pentru a număra dimensiunea fișierului în octeți. |
getc | Este folosit pentru a citi fiecare caracter al conținutului fișierului. |
căuta | Este folosit pentru a muta indicatorul fișierului într-o anumită poziție. |
eof | Indică sfârșitul fișierului. |
închide | Este folosit pentru a închide gestionarea fișierelor definită anterior. |
Exemple de Perl FileHandle
Diferite utilizări ale modulului FileHandle sunt prezentate în această parte a tutorialului folosind mai multe exemple.
Exemplul 1: Creați un fișier nou
Creați un fișier Perl cu următorul script care creează un fișier nou folosind modulul FileHandle. Un nume de fișier este luat de la utilizator și se verifică dacă există sau nu. Dacă fișierul nu există, fișierul este deschis pentru scriere prin crearea unui obiect din clasa „FileHandle” după așteptarea 1 secundă.
#!/usr/bin/perl
folosiți strict ;
utilizare Avertizări ;
utilizați 5.34.0 ;
utilizați FileHandle ;
#Preluați numele fișierului de la utilizator pentru a crea
imprimare „Introduceți numele fișierului:” ;
$f-ul meu = <>;
chomp ( $f ) ;
#Verificați dacă fișierul există deja sau nu
dacă ( -e $f )
{
#Tipărește un mesaj dacă fișierul există
Spune 'Fisierul există deja.' ;
}
altfel
{
#Creați obiectul de gestionare a fișierelor
meu $FileHandler = FileHandle- > nou ;
Spune „Scriind în dosar...” ;
#Așteptați 1 secundă
dormi ( 1 ) ;
#Deschideți fișierul pentru scriere
dacă ( $FileHandler- > deschis ( „> $f” ) )
{
#Scrieți o linie de text în fișier
imprimare $FileHandler „Este un mesaj de testare. \n Este a doua linie. \n ' ;
#Închideți handlerul de fișiere
$FileHandler- > închide ;
}
}
Ieșire:
Conform rezultatelor, fișierul „test.txt” nu a existat înainte și acest fișier este creat cu două linii de text. Apoi, comanda „cat” este executată pentru a verifica dacă fișierul este creat cu succes cu conținutul sau nu:
Scriptul este executat din nou cu aceeași valoare de intrare și mesajul „Fișier există deja” este tipărit aici deoarece fișierul „test.txt” este creat înainte.
Exemplul 2: Citiți conținutul fișierului
Creați un fișier Perl cu următorul script care citește conținutul unui fișier folosind clasa „FileHandle” dacă fișierul există. Numele fișierului este preluat de la utilizator.
#!/usr/bin/perlfolosiți strict ;
utilizare Avertizări ;
utilizați 5.34.0 ;
utilizați FileHandle ;
#Preluați numele fișierului de la utilizator pentru a crea
$f-ul meu = <>;
$f-ul meu = ;
chomp ( $f ) ;
#Verificați dacă fișierul există deja sau nu
dacă ( -e $f )
{
#Deschideți fișierul pentru citire
meu $FileHandler = FileHandle- > nou ( ' < $f' ) ;
#Tipărește conținutul fișierului
imprimare < $FileHandler >;
#Închideți handlerul de fișiere
închide $FileHandler ;
}
Ieșire:
Conținutul fișierului „test.txt” este tipărit în rezultat deoarece există în locația curentă:
Exemplul 3: Adăugați un conținut într-un fișier
Creați un fișier Perl cu următorul script care adaugă conținutul într-un fișier care nu este gol și imprimați dimensiunea fișierului în octeți. Numele fișierului este preluat de la utilizator. Dacă fișierul există și conține datele, se adaugă o linie de text la sfârșitul fișierului. În caz contrar, este tipărit un mesaj.
#!/usr/bin/perlfolosiți strict ;
utilizare Avertizări ;
utilizați 5.34.0 ;
utilizați FileHandle ;
#Preluați numele fișierului de la utilizator pentru a crea
imprimare „Introduceți numele fișierului:” ;
$f-ul meu = <>;
chomp ( $f ) ;
#Verificați dacă fișierul există deja și nu este gol sau nu
dacă ( -s $f )
{
meu $FileHandler = FileHandle- > nou ( ' >> $f' ) ;
#Tipărește dimensiunea fișierului
imprimare „Dimensiunea fișierului este” . $FileHandler- > spune. ' octeți. \n ' ;
Spune „Se adaugă conținut în fișier...” ;
#Așteptați 1 secundă
dormi ( 1 ) ;
#Scrieți conținut la sfârșitul fișierului
imprimare $FileHandler „Este o linie nouă. \n ' ;
#Închideți handlerul de fișiere
$FileHandler- > închide ;
}
altfel
{
Spune 'Fisierul nu exista.' ;
}
Ieșire:
Conform rezultatelor, la fișierul „test.txt” este atașată o nouă linie și dimensiunea fișierului este de 45 de octeți. Apoi, comanda „cat” este executată pentru a verifica dacă conținutul este adăugat corect în fișier sau nu:
Concluzie
Modulul FileHandle este una dintre opțiunile Perl pentru a citi, scrie sau atașa fișierele. Trei utilizări diferite ale acestui modul sunt prezentate în acest tutorial folosind exemple simple.