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:
Scriptet udføres igen med den samme inputværdi, og meddelelsen 'Filen findes allerede' udskrives her, fordi filen 'test.txt' er oprettet før.
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/perlbrug 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:
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/perlbrug 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:
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.