FileHandle modul a Perlben

Filehandle Modul A Perlben



A Perlben többféle mód létezik a fájlok létrehozására és elérésére. Egy fájl megnyitható olvasásra, írásra vagy frissítésre a Perlben egy fájlkezelő segítségével. A fájlkezelő az open() metódusban használható strukturált programozási formátumban vagy objektumorientált programozási formátumban. A FileHandle modul segítségével a Perlben a fájlkezelő objektumként deklarálható, és ezzel az objektummal megnyitható egy fájl létrehozása vagy elérése a „FileHandle” osztály különböző tulajdonságaival és módszereivel. Ebben az oktatóanyagban bemutatjuk a FileHandle modul néhány elterjedt módszerének használatát, valamint a FileHandle modul használatának módszereit a fájl Perlben való kezelésére.

A FileHandle néhány hasznos módszere

A FileHandle modul néhány gyakran használt módszere a következő:

Módszer Célja
Mondd A fájl méretének bájtokban való számlálására szolgál.
getc A fájltartalom minden karakterének beolvasására szolgál.
keresni A fájlmutató mozgatására szolgál egy adott pozícióba.
eof A fájl végét jelzi.
Bezárás A korábban meghatározott fájlkezelő bezárására szolgál.

Példák a Perl FileHandle-re

Az oktatóanyag ezen része a FileHandle modul különböző felhasználási módjait mutatja be több példán keresztül.







1. példa: Hozzon létre egy új fájlt

Hozzon létre egy Perl-fájlt a következő szkripttel, amely új fájlt hoz létre a FileHandle modul használatával. A rendszer a felhasználótól veszi a fájlnevet, és ellenőrzi, hogy létezik-e vagy sem. Ha a fájl nem létezik, a fájl megnyitásra kerül írásra úgy, hogy 1 másodperc várakozás után létrehoz egy „FileHandle” osztály objektumot.



#!/usr/bin/perl

szigorúat használj ;
használat figyelmeztetések ;
használd az 5.34.0-t ;
használja a FileHandle-t ;

#Vegye el a fájlnevet a felhasználótól a létrehozáshoz
nyomtatás 'Írja be a fájlnevet:' ;
én $f = <>;
chomp ( $f ) ;

#Ellenőrizze, hogy a fájl létezik-e vagy sem
ha ( -e $f )
{
# Nyomtasson üzenetet, ha a fájl létezik
mond 'A fájl már létezik.' ;
}

más

{
#Fájlkezelő objektum létrehozása
az én $FileHandlerem = File Handle- > új ;
mond 'A fájlba írás...' ;
#Várjon 1 másodpercet
alvás ( 1 ) ;

#Nyissa meg a fájlt íráshoz
ha ( $FileHandler- > nyisd ki ( '> $f' ) )
{
#Írjon egy sort a fájlba
nyomtatás $FileHandler „Ez egy tesztüzenet. \n Ez a második sor. \n ' ;
# Zárja be a fájlkezelőt
$FileHandler- > Bezárás ;
}

}

Kimenet:



A kimenet szerint a „test.txt” fájl korábban nem létezett, és ez a fájl kétsoros szöveggel jön létre. Ezután a „cat” parancs végrehajtásra kerül annak ellenőrzésére, hogy a fájl sikeresen létrejött-e a tartalommal vagy sem:





  p1-1

A szkript újra lefut ugyanazzal a bemeneti értékkel, és a „Fájl már létezik” üzenet kerül kinyomtatásra, mert a „test.txt” fájl korábban létrejött.



  p1-2

2. példa: Olvassa el a fájl tartalmát

Hozzon létre egy Perl-fájlt a következő szkripttel, amely beolvassa egy fájl tartalmát a „FileHandle” osztály használatával, ha a fájl létezik. A fájlnév a felhasználótól származik.

#!/usr/bin/perl

szigorúat használj ;
használat figyelmeztetések ;
használd az 5.34.0-t ;
használja a FileHandle-t ;

#Vegye el a fájlnevet a felhasználótól a létrehozáshoz
én $f = <>;
én $f = ;
chomp ( $f ) ;

#Ellenőrizze, hogy a fájl létezik-e vagy sem
ha ( -e $f )
{
#Nyissa meg a fájlt olvasásra
az én $FileHandlerem = File Handle- > új ( ' < $f' ) ;
#Nyomtassa ki a fájl tartalmát
nyomtatás < $FileHandler >;
# Zárja be a fájlkezelőt
zárja be a $FileHandlert ;
}

Kimenet:

A „test.txt” fájl tartalma a kimenetben kerül kinyomtatásra, mert az az aktuális helyen létezik:

  p2

3. példa: Tartalom hozzáfűzése egy fájlhoz

Hozzon létre egy Perl-fájlt a következő szkripttel, amely hozzáfűzi a tartalmat egy nem üres fájlhoz, és kinyomtatja a fájl méretét bájtokban. A fájlnév a felhasználótól származik. Ha a fájl létezik és tartalmazza az adatokat, akkor a fájl végére egy sor szöveg kerül. Ellenkező esetben a rendszer egy üzenetet nyomtat.

#!/usr/bin/perl

szigorúat használj ;
használat figyelmeztetések ;
használd az 5.34.0-t ;
használja a FileHandle-t ;

#Vegye el a fájlnevet a felhasználótól a létrehozáshoz
nyomtatás 'Írja be a fájlnevet:' ;
én $f = <>;
chomp ( $f ) ;

#Ellenőrizze, hogy a fájl létezik-e már, és nincs-e üres
ha ( -s $f )
{


az én $FileHandlerem = File Handle- > új ( ' >> $f' ) ;
#Nyomtassa ki a fájlméretet
nyomtatás 'A fájl mérete' . $FileHandler- > Mondd. ' bájt. \n ' ;
mond 'Tartalom hozzáfűzése a fájlhoz...' ;
#Várjon 1 másodpercet
alvás ( 1 ) ;

#Írjon tartalmat a fájl végére
nyomtatás $FileHandler „Ez egy új vonal. \n ' ;
# Zárja be a fájlkezelőt
$FileHandler- > Bezárás ;
}
más
{
mond 'A fájl nem létezik.' ;
}

Kimenet:

A kimenet szerint a „test.txt” fájlhoz egy új sort fűzünk, és a fájl mérete 45 bájt. Ezután a „cat” parancs végrehajtásra kerül annak ellenőrzésére, hogy a tartalom megfelelően hozzáadva van-e a fájlhoz:

  p3-1

Következtetés


A FileHandle modul a Perl egyik lehetősége a fájlok olvasására, írására vagy hozzáfűzésére. Ebben az oktatóanyagban a modul három különböző felhasználását mutatjuk be egyszerű példákon keresztül.