FileHandle-modul i Perl

Filehandle Modul I Perl



Der findes flere måder i Perl til at oprette og få adgang til filerne. En fil kan åbnes til læsning, skrivning eller opdatering i Perl ved hjælp af en filhåndtering. Filbehandleren kan bruges i open()-metoden i et struktureret programmeringsformat eller objektorienteret programmeringsformat. FileHandle-modulet kan bruges i Perl til at erklære filbehandleren som et objekt og bruge dette objekt til at åbne en fil til oprettelse eller adgang ved hjælp af forskellige egenskaber og metoder i klassen 'FileHandle'. Brugen af ​​nogle almindelige metoder i FileHandle-modulet og metoderne til at bruge FileHandle-modulet til at arbejde med filen i Perl er vist i denne øvelse.

Nogle nyttige metoder til FileHandle

Nogle almindeligt anvendte metoder i FileHandle-modulet er som følger:

Metode Formål
fortælle Det bruges til at tælle størrelsen af ​​filen i bytes.
getc Det bruges til at læse hvert tegn i filindholdet.
søge Den bruges til at flytte filmarkøren til en bestemt position.
eof Det angiver slutningen af ​​filen.
tæt Det bruges til at lukke den tidligere definerede filbehandler.

Eksempler på Perl FileHandle

Forskellige anvendelser af FileHandle-modulet er vist i denne del af selvstudiet ved hjælp af flere eksempler.







Eksempel 1: Opret en ny fil

Opret en Perl-fil med følgende script, der opretter en ny fil ved hjælp af FileHandle-modulet. Et filnavn tages fra brugeren og kontrolleres, om det eksisterer eller ej. Hvis filen ikke eksisterer, åbnes filen til skrivning ved at oprette et objekt af klassen 'FileHandle' efter at have ventet 1 sekund.



#!/usr/bin/perl

brug strenge ;
brug advarsler ;
brug 5.34.0 ;
brug FileHandle ;

#Tag filnavnet fra brugeren for at oprette
Print 'Indtast filnavnet:' ;
min $f = <>;
chomp ( $f ) ;

#Tjek, om filen allerede eksisterer eller ej
hvis ( -e $f )
{
#Udskriv en besked, hvis filen findes
sige 'Filen findes allerede.' ;
}

andet

{
#Opret filhåndteringsobjekt
min $FileHandler = FileHandle- > ny ;
sige 'Skriver ind i filen...' ;
#Vent i 1 sekund
søvn ( 1 ) ;

#Åbn filen til skrivning
hvis ( $FileHandler- > åben ( '> $f' ) )
{
#Skriv en tekstlinje ind i filen
Print $FileHandler 'Det er en testmeddelelse. \n Det er den anden linje. \n ' ;
#Luk filhåndteringen
$FileHandler- > tæt ;
}

}

Produktion:



Ifølge outputtet eksisterede filen 'test.txt' ikke før, og denne fil er oprettet med to linjer tekst. Derefter udføres 'cat'-kommandoen for at kontrollere, om filen er oprettet med succes med indholdet eller ej:





  p1-1

Scriptet udføres igen med den samme inputværdi, og meddelelsen 'Filen findes allerede' udskrives her, fordi filen 'test.txt' er oprettet før.



  p1-2

Eksempel 2: Læs indholdet af filen

Opret en Perl-fil med følgende script, der læser indholdet af en fil ved hjælp af klassen 'FileHandle', hvis filen findes. Filnavnet er taget fra brugeren.

#!/usr/bin/perl

brug strenge ;
brug advarsler ;
brug 5.34.0 ;
brug FileHandle ;

#Tag filnavnet fra brugeren for at oprette
min $f = <>;
min $f = ;
chomp ( $f ) ;

#Tjek, om filen allerede eksisterer eller ej
hvis ( -e $f )
{
#Åbn filen til læsning
min $FileHandler = FileHandle- > ny ( ' < $f' ) ;
#Udskriv filindholdet
Print < $FileHandler >;
#Luk filhåndteringen
luk $FileHandler ;
}

Produktion:

Indholdet af 'test.txt'-filen udskrives i outputtet, fordi den findes på den aktuelle placering:

  s2

Eksempel 3: Tilføj et indhold til en fil

Opret en Perl-fil med følgende script, der tilføjer indholdet til en ikke-tom fil, og udskriv filens størrelse i bytes. Filnavnet er taget fra brugeren. Hvis filen eksisterer og indeholder dataene, tilføjes en tekstlinje i slutningen af ​​filen. Ellers udskrives en meddelelse.

#!/usr/bin/perl

brug strenge ;
brug advarsler ;
brug 5.34.0 ;
brug FileHandle ;

#Tag filnavnet fra brugeren for at oprette
Print 'Indtast filnavnet:' ;
min $f = <>;
chomp ( $f ) ;

#Tjek, om filen allerede findes og ikke er tom eller ej
hvis ( -s $f )
{


min $FileHandler = FileHandle- > ny ( ' >> $f' ) ;
#Udskriv filstørrelsen
Print 'Størrelsen af ​​filen er' . $FileHandler- > fortælle. ' bytes. \n ' ;
sige 'Tilføjer indhold til filen...' ;
#Vent i 1 sekund
søvn ( 1 ) ;

#Skriv indhold i slutningen af ​​filen
Print $FileHandler 'Det er en ny linje. \n ' ;
#Luk filhåndteringen
$FileHandler- > tæt ;
}
andet
{
sige 'Filen eksisterer ikke.' ;
}

Produktion:

Ifølge outputtet tilføjes en ny linje til filen 'test.txt', og filens størrelse er 45 bytes. Derefter udføres 'cat'-kommandoen for at kontrollere, om indholdet er tilføjet korrekt i filen eller ej:

  p3-1

Konklusion


FileHandle-modulet er en af ​​mulighederne i Perl til at læse, skrive eller tilføje filerne. Tre forskellige anvendelser af dette modul er vist i denne tutorial ved hjælp af enkle eksempler.