FileHandle-modul i Perl

Filehandle Modul I Perl



Det finnes flere måter i Perl for å opprette og få tilgang til filene. En fil kan åpnes for lesing, skriving eller oppdatering i Perl ved hjelp av en filbehandler. Filbehandleren kan brukes i open()-metoden i et strukturert programmeringsformat eller objektorientert programmeringsformat. FileHandle-modulen kan brukes i Perl til å erklære filbehandleren som et objekt og bruke dette objektet til å åpne en fil for å opprette eller få tilgang til ved hjelp av forskjellige egenskaper og metoder i 'FileHandle'-klassen. Bruken av noen vanlige metoder for FileHandle-modulen og metodene for å bruke FileHandle-modulen til å jobbe med filen i Perl er vist i denne opplæringen.

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:





  p1-1

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.



  p1-2

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/perl

bruk 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:

  s2

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/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 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:

  s3-1

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.