Nekaj uporabnih metod FileHandle
Nekatere pogosto uporabljene metode modula FileHandle so naslednje:
Metoda | Namen |
povej | Uporablja se za štetje velikosti datoteke v bajtih. |
getc | Uporablja se za branje vsakega znaka vsebine datoteke. |
iskati | Uporablja se za premikanje kazalca datoteke na določen položaj. |
eof | Označuje konec datoteke. |
blizu | Uporablja se za zapiranje predhodno definiranega upravljalnika datotek. |
Primeri Perl FileHandle
Različne uporabe modula FileHandle so prikazane v tem delu vadnice z več primeri.
1. primer: ustvarite novo datoteko
Ustvarite datoteko Perl z naslednjim skriptom, ki ustvari novo datoteko z uporabo modula FileHandle. Ime datoteke se vzame od uporabnika in preveri, ali obstaja ali ne. Če datoteka ne obstaja, se datoteka odpre za pisanje z ustvarjanjem predmeta razreda “FileHandle” po čakanju 1 sekundo.
#!/usr/bin/perl
uporabite strogo ;
uporaba opozorila ;
uporabi 5.34.0 ;
uporabite FileHandle ;
#Vzemite ime datoteke od uporabnika za ustvarjanje
tiskanje 'Vnesite ime datoteke:' ;
moj $f = <>;
žvečiti ( $f ) ;
#Preveri ali datoteka že obstaja ali ne
če ( -e $f )
{
#Natisni sporočilo, če datoteka obstaja
reči 'Datoteka že obstaja.' ;
}
drugače
{
#Ustvari predmet obdelovalca datotek
moj $FileHandler = FileHandle- > novo ;
reči 'Pisanje v datoteko ...' ;
#Počakajte 1 sekundo
spati ( 1 ) ;
#Odpri datoteko za pisanje
če ( $FileHandler- > odprto ( '> $f' ) )
{
#V datoteko zapišite vrstico besedila
tiskanje $FileHandler 'To je testno sporočilo. \n To je druga linija. \n ' ;
#Zaprite upravljalnik datotek
$FileHandler- > blizu ;
}
}
Izhod:
Glede na izhod datoteka »test.txt« prej ni obstajala in ta datoteka je ustvarjena z dvema vrsticama besedila. Nato se izvede ukaz »cat«, da se preveri, ali je datoteka uspešno ustvarjena z vsebino ali ne:
Skript se znova izvede z isto vhodno vrednostjo in tukaj se natisne sporočilo »Datoteka že obstaja«, ker je bila datoteka »test.txt« ustvarjena prej.
Primer 2: Preberite vsebino datoteke
Ustvarite datoteko Perl z naslednjim skriptom, ki prebere vsebino datoteke z uporabo razreda »FileHandle«, če datoteka obstaja. Ime datoteke je vzeto od uporabnika.
#!/usr/bin/perluporabite strogo ;
uporaba opozorila ;
uporabi 5.34.0 ;
uporabite FileHandle ;
#Vzemite ime datoteke od uporabnika za ustvarjanje
moj $f = <>;
moj $f = ;
žvečiti ( $f ) ;
#Preveri ali datoteka že obstaja ali ne
če ( -e $f )
{
#Odpri datoteko za branje
moj $FileHandler = FileHandle- > novo ( '< $f' ) ;
#Natisnite vsebino datoteke
tiskanje < $FileHandler >;
#Zaprite upravljalnik datotek
zapri $FileHandler ;
}
Izhod:
Vsebina datoteke »test.txt« je natisnjena v izhodu, ker obstaja na trenutni lokaciji:
Primer 3: Dodajanje vsebine v datoteko
Ustvarite datoteko Perl z naslednjim skriptom, ki doda vsebino v neprazno datoteko in natisne velikost datoteke v bajtih. Ime datoteke je vzeto od uporabnika. Če datoteka obstaja in vsebuje podatke, se na koncu datoteke doda vrstica besedila. V nasprotnem primeru se natisne sporočilo.
#!/usr/bin/perluporabite strogo ;
uporaba opozorila ;
uporabi 5.34.0 ;
uporabite FileHandle ;
#Vzemite ime datoteke od uporabnika za ustvarjanje
tiskanje 'Vnesite ime datoteke:' ;
moj $f = <>;
žvečiti ( $f ) ;
#Preveri ali datoteka že obstaja in ni prazna ali ne
če ( -s $f )
{
moj $FileHandler = FileHandle- > novo ( ' >> $f' ) ;
#Natisnite velikost datoteke
tiskanje 'Velikost datoteke je ' . $FileHandler- > povej. 'bajtov. \n ' ;
reči 'Dodajanje vsebine v datoteko ...' ;
#Počakajte 1 sekundo
spati ( 1 ) ;
#Vpišite vsebino na konec datoteke
tiskanje $FileHandler 'To je nova linija. \n ' ;
#Zaprite upravljalnik datotek
$FileHandler- > blizu ;
}
drugače
{
reči 'Datoteka ne obstaja.' ;
}
Izhod:
Glede na izhod je v datoteko »test.txt« dodana nova vrstica, velikost datoteke pa je 45 bajtov. Nato se izvede ukaz »cat«, da se preveri, ali je vsebina pravilno dodana v datoteko ali ne:
Zaključek
Modul FileHandle je ena od možnosti Perla za branje, pisanje ali dodajanje datotek. V tej vadnici so na preprostih primerih prikazane tri različne uporabe tega modula.