Noen nyttige metoder for FileHandle
Noen vanlige metoder for FileHandle-modulen er som følger:
Metode | Hensikt |
fortelle | Den brukes til å telle størrelsen på filen i byte. |
getc | Den brukes til å lese hvert tegn i filinnholdet. |
søke | Den brukes til å flytte filpekeren til en bestemt posisjon. |
eof | Det indikerer slutten av filen. |
Lukk | Den brukes til å lukke den tidligere definerte filbehandleren. |
Eksempler på Perl FileHandle
Ulike bruksområder for FileHandle-modulen er vist i denne delen av opplæringen ved hjelp av flere eksempler.
Eksempel 1: Lag en ny fil
Lag en Perl-fil med følgende skript som lager en ny fil ved hjelp av FileHandle-modulen. Et filnavn tas fra brukeren og sjekkes om det eksisterer eller ikke. Hvis filen ikke eksisterer, åpnes filen for skriving ved å opprette et objekt av 'FileHandle'-klassen etter å ha ventet 1 sekund.
#!/usr/bin/perl
bruk strenge ;
bruk advarsler ;
bruk 5.34.0 ;
bruk FileHandle ;
#Ta filnavnet fra brukeren som skal opprettes
skrive ut 'Skriv inn filnavnet:' ;
min $f = <>;
chomp ( $f ) ;
#Sjekk om filen allerede eksisterer eller ikke
hvis ( -e $f )
{
#Skriv ut en melding hvis filen eksisterer
si 'Filen finnes allerede.' ;
}
ellers
{
#Opprett filbehandlerobjekt
min $FileHandler = FileHandle- > ny ;
si 'Skriver inn i filen ...' ;
#Vent i 1 sekund
sove ( 1 ) ;
#Åpne filen for skriving
hvis ( $FileHandler- > åpen ( '> $f' ) )
{
#Skriv en tekstlinje inn i filen
skrive ut $FileHandler «Det er en testmelding. \n Det er den andre linjen. \n ' ;
#Lukk filbehandleren
$FileHandler- > Lukk ;
}
}
Produksjon:
Ifølge utdataene eksisterte ikke 'test.txt'-filen før, og denne filen er opprettet med to linjer med tekst. Deretter utføres 'cat'-kommandoen for å sjekke om filen er opprettet med innholdet eller ikke:
Skriptet kjøres på nytt med den samme inngangsverdien og meldingen 'Fil eksisterer allerede' skrives ut her fordi 'test.txt'-filen ble opprettet før.
Eksempel 2: Les innholdet i filen
Lag en Perl-fil med følgende skript som leser innholdet i en fil ved å bruke 'FileHandle'-klassen hvis filen eksisterer. Filnavnet er hentet fra brukeren.
#!/usr/bin/perlbruk strenge ;
bruk advarsler ;
bruk 5.34.0 ;
bruk FileHandle ;
#Ta filnavnet fra brukeren som skal opprettes
min $f = <>;
min $f = ;
chomp ( $f ) ;
#Sjekk om filen allerede eksisterer eller ikke
hvis ( -e $f )
{
#Åpne filen for lesing
min $FileHandler = FileHandle- > ny ( '< $f' ) ;
#Skriv ut filinnholdet
skrive ut < $FileHandler >;
#Lukk filbehandleren
lukk $FileHandler ;
}
Produksjon:
Innholdet i 'test.txt'-filen skrives ut i utdataene fordi den eksisterer på gjeldende plassering:
Eksempel 3: Legg til et innhold i en fil
Lag en Perl-fil med følgende skript som legger til innholdet i en ikke-tom fil og skriv ut størrelsen på filen i byte. Filnavnet er hentet fra brukeren. Hvis filen eksisterer og inneholder dataene, legges det til en tekstlinje på slutten av filen. Ellers skrives en melding ut.
#!/usr/bin/perlbruk strenge ;
bruk advarsler ;
bruk 5.34.0 ;
bruk FileHandle ;
#Ta filnavnet fra brukeren som skal opprettes
skrive ut 'Skriv inn filnavnet:' ;
min $f = <>;
chomp ( $f ) ;
#Sjekk om filen allerede eksisterer og ikke er tom eller ikke
hvis ( -s $f )
{
min $FileHandler = FileHandle- > ny ( ' >> $f' ) ;
#Skriv ut filstørrelsen
skrive ut 'Størrelsen på filen er' . $FileHandler- > fortelle. ' bytes. \n ' ;
si 'Legger til innhold i filen ...' ;
#Vent i 1 sekund
sove ( 1 ) ;
#Skriv innhold på slutten av filen
skrive ut $FileHandler 'Det er en ny linje. \n ' ;
#Lukk filbehandleren
$FileHandler- > Lukk ;
}
ellers
{
si 'Filen eksisterer ikke.' ;
}
Produksjon:
I henhold til utdataene legges en ny linje til 'test.txt'-filen og størrelsen på filen er 45 byte. Deretter utføres 'cat'-kommandoen for å sjekke om innholdet er lagt til riktig i filen eller ikke:
Konklusjon
FileHandle-modulen er et av alternativene til Perl for å lese, skrive eller legge til filene. Tre forskjellige bruksområder for denne modulen er vist i denne opplæringen ved hjelp av enkle eksempler.