Některé užitečné metody FileHandle
Některé běžně používané metody modulu FileHandle jsou následující:
Metoda | Účel |
sdělit | Používá se k počítání velikosti souboru v bajtech. |
getc | Používá se ke čtení každého znaku obsahu souboru. |
hledat | Používá se k přesunutí ukazatele souboru na konkrétní pozici. |
eof | Označuje konec souboru. |
zavřít | Používá se k uzavření dříve definovaného obslužného programu souboru. |
Příklady Perl FileHandle
Různá použití modulu FileHandle jsou ukázána v této části výukového programu na několika příkladech.
Příklad 1: Vytvořte nový soubor
Vytvořte soubor Perl pomocí následujícího skriptu, který vytvoří nový soubor pomocí modulu FileHandle. Název souboru je převzat od uživatele a zkontrolován, zda existuje nebo ne. Pokud soubor neexistuje, otevře se soubor pro zápis vytvořením objektu třídy „FileHandle“ po čekání 1 sekundy.
#!/usr/bin/perl
používat přísné ;
použití varování ;
použijte 5.34.0 ;
použijte FileHandle ;
#Vytvořte název souboru od uživatele
tisk 'Zadejte název souboru:' ;
můj $f = <>;
žvýkat ( $f ) ;
#Zkontrolujte, zda soubor již existuje nebo ne
-li ( -e $f )
{
#Vytiskněte zprávu, pokud soubor existuje
říci 'Soubor již existuje.' ;
}
jiný
{
#Vytvořit objekt obslužného programu souboru
můj $FileHandler = FileHandle- > Nový ;
říci 'Zápis do souboru...' ;
#Počkejte 1 sekundu
spát ( 1 ) ;
#Otevřete soubor pro zápis
-li ( $FileHandler- > OTEVŘENO ( '> $f' ) )
{
#Napište do souboru řádek textu
tisk $FileHandler „Je to testovací zpráva. \n Je to druhý řádek. \n ' ;
#Zavřete obslužný program souboru
$FileHandler- > zavřít ;
}
}
Výstup:
Podle výstupu soubor „test.txt“ dříve neexistoval a tento soubor je vytvořen se dvěma řádky textu. Poté se provede příkaz „cat“, aby se zkontrolovalo, zda byl soubor úspěšně vytvořen s obsahem nebo ne:
Skript se provede znovu se stejnou vstupní hodnotou a zde se vytiskne zpráva „Soubor již existuje“, protože soubor „test.txt“ byl vytvořen dříve.
Příklad 2: Přečtěte si obsah souboru
Vytvořte soubor Perl pomocí následujícího skriptu, který čte obsah souboru pomocí třídy „FileHandle“, pokud soubor existuje. Název souboru je převzat od uživatele.
#!/usr/bin/perlpoužívat přísné ;
použití varování ;
použijte 5.34.0 ;
použijte FileHandle ;
#Převzít název souboru od uživatele k vytvoření
můj $f = <>;
můj $f = ;
žvýkat ( $f ) ;
#Zkontrolujte, zda soubor již existuje nebo ne
-li ( -e $f )
{
#Otevřete soubor ke čtení
můj $FileHandler = FileHandle- > Nový ( '< $f' ) ;
# Vytiskněte obsah souboru
tisk < $FileHandler >;
#Zavřete obslužný program souboru
zavřete $FileHandler ;
}
Výstup:
Obsah souboru „test.txt“ se vytiskne ve výstupu, protože existuje v aktuálním umístění:
Příklad 3: Připojení obsahu do souboru
Vytvořte soubor Perl pomocí následujícího skriptu, který připojí obsah do neprázdného souboru a vytiskne velikost souboru v bajtech. Název souboru je převzat od uživatele. Pokud soubor existuje a obsahuje data, je na konec souboru přidán řádek textu. Jinak se vytiskne zpráva.
#!/usr/bin/perlpoužívat přísné ;
použití varování ;
použijte 5.34.0 ;
použijte FileHandle ;
#Převzít název souboru od uživatele k vytvoření
tisk 'Zadejte název souboru:' ;
můj $f = <>;
žvýkat ( $f ) ;
#Zkontrolujte, zda soubor již existuje a zda není prázdný
-li ( -s $f )
{
můj $FileHandler = FileHandle- > Nový ( ' >> $f' ) ;
# Vytiskněte velikost souboru
tisk 'Velikost souboru je' . $FileHandler- > sdělit. 'bajtů. \n ' ;
říci 'Připojování obsahu do souboru...' ;
#Počkejte 1 sekundu
spát ( 1 ) ;
#Na konec souboru napište obsah
tisk $FileHandler „Je to nová linie. \n ' ;
#Zavřete obslužný program souboru
$FileHandler- > zavřít ;
}
jiný
{
říci 'Soubor neexistuje.' ;
}
Výstup:
Podle výstupu je k souboru „test.txt“ připojen nový řádek a velikost souboru je 45 bajtů. Poté se provede příkaz „cat“, který zkontroluje, zda je obsah do souboru přidán správně nebo ne:
Závěr
Modul FileHandle je jednou z možností Perlu pro čtení, zápis nebo připojení souborů. V tomto tutoriálu jsou na jednoduchých příkladech ukázána tři různá použití tohoto modulu.