Ilang Mga Kapaki-pakinabang na Paraan ng FileHandle
Ang ilang karaniwang ginagamit na paraan ng FileHandle module ay ang mga sumusunod:
Pamamaraan | Layunin |
sabihin | Ito ay ginagamit upang mabilang ang laki ng file sa bytes. |
getc | Ito ay ginagamit upang basahin ang bawat karakter ng nilalaman ng file. |
Hanapin | Ito ay ginagamit upang ilipat ang file pointer sa isang partikular na posisyon. |
eof | Ipinapahiwatig nito ang dulo ng file. |
malapit na | Ito ay ginagamit upang isara ang dating tinukoy na file handler. |
Mga halimbawa ng Perl FileHandle
Ang iba't ibang paggamit ng module ng FileHandle ay ipinapakita sa bahaging ito ng tutorial gamit ang maraming halimbawa.
Halimbawa 1: Gumawa ng Bagong File
Gumawa ng Perl file na may sumusunod na script na lumilikha ng bagong file gamit ang FileHandle module. Ang isang filename ay kinuha mula sa user at sinuri kung ito ay umiiral o wala. Kung ang file ay hindi umiiral, ang file ay binuksan para sa pagsulat sa pamamagitan ng paglikha ng isang bagay ng 'FileHandle' na klase pagkatapos maghintay ng 1 segundo.
#!/usr/bin/perl
gumamit ng mahigpit ;
gamitin mga babala ;
gamitin ang 5.34.0 ;
gamitin ang FileHandle ;
#Kunin ang pangalan ng file mula sa gumagamit upang lumikha
print 'Ilagay ang filename:' ;
ang aking $f = <>;
chomp ( $f ) ;
#Tingnan kung umiiral na ang file o hindi
kung ( -e $f )
{
#Mag-print ng mensahe kung mayroon ang file
sabihin 'Mayroon nang file.' ;
}
iba pa
{
#Lumikha ng object ng tagapangasiwa ng file
ang aking $FileHandler = FileHandle- > bago ;
sabihin 'Nagsusulat sa file...' ;
#Maghintay ng 1 segundo
matulog ( 1 ) ;
#Buksan ang file para sa pagsusulat
kung ( $FileHandler- > bukas ( '> $f' ) )
{
#Magsulat ng isang linya ng teksto sa file
print $FileHandler 'Ito ay isang pagsubok na mensahe. \n Ito ang pangalawang linya. \n ' ;
#Isara ang file handler
$FileHandler- > malapit na ;
}
}
Output:
Ayon sa output, ang 'test.txt' na file ay hindi umiiral bago at ang file na ito ay nilikha gamit ang dalawang linya ng teksto. Pagkatapos, ang utos na 'cat' ay isinasagawa upang suriin kung matagumpay na nalikha ang file kasama ang nilalaman o hindi:
Isinasagawa muli ang script na may parehong halaga ng input at ang mensaheng 'Mayroon nang file' ay naka-print dito dahil ang 'test.txt' na file ay nilikha dati.
Halimbawa 2: Basahin ang Nilalaman ng File
Gumawa ng Perl file na may sumusunod na script na nagbabasa ng nilalaman ng isang file gamit ang klase ng 'FileHandle' kung mayroon ang file. Ang filename ay kinuha mula sa user.
#!/usr/bin/perlgumamit ng mahigpit ;
gamitin mga babala ;
gamitin ang 5.34.0 ;
gamitin ang FileHandle ;
#Kunin ang pangalan ng file mula sa gumagamit upang lumikha
ang aking $f = <>;
ang aking $f = ;
chomp ( $f ) ;
#Tingnan kung umiiral na ang file o hindi
kung ( -e $f )
{
#Buksan ang file para sa pagbabasa
ang aking $FileHandler = FileHandle- > bago ( '< $f' ) ;
#I-print ang nilalaman ng file
print < $FileHandler >;
#Isara ang file handler
isara ang $FileHandler ;
}
Output:
Ang nilalaman ng 'test.txt' na file ay naka-print sa output dahil ito ay umiiral sa kasalukuyang lokasyon:
Halimbawa 3: Magdagdag ng Nilalaman sa isang File
Lumikha ng Perl file na may sumusunod na script na nagdaragdag ng nilalaman sa isang walang laman na file at i-print ang laki ng file sa mga byte. Ang filename ay kinuha mula sa user. Kung ang file ay umiiral at naglalaman ng data, isang linya ng teksto ay idaragdag sa dulo ng file. Kung hindi, ang isang mensahe ay naka-print.
#!/usr/bin/perlgumamit ng mahigpit ;
gamitin mga babala ;
gamitin ang 5.34.0 ;
gamitin ang FileHandle ;
#Kunin ang pangalan ng file mula sa gumagamit upang lumikha
print 'Ilagay ang filename:' ;
ang aking $f = <>;
chomp ( $f ) ;
#Tingnan kung ang file ay mayroon na at walang laman o wala
kung ( -s $f )
{
ang aking $FileHandler = FileHandle- > bago ( ' >> $f' ) ;
#I-print ang laki ng file
print 'Ang laki ng file ay ' . $FileHandler- > sabihin. 'mga byte. \n ' ;
sabihin 'Pagdaragdag ng nilalaman sa file...' ;
#Maghintay ng 1 segundo
matulog ( 1 ) ;
#Write content sa dulo ng file
print $FileHandler 'Ito ay isang bagong linya. \n ' ;
#Isara ang file handler
$FileHandler- > malapit na ;
}
iba pa
{
sabihin 'Walang file.' ;
}
Output:
Ayon sa output, ang isang bagong linya ay idinagdag sa 'test.txt' na file at ang laki ng file ay 45 bytes. Pagkatapos, ang command na 'cat' ay isinasagawa upang suriin kung ang nilalaman ay naidagdag nang maayos sa file o hindi:
Konklusyon
Ang FileHandle module ay isa sa mga opsyon ng Perl para basahin, isulat, o idagdag ang mga file. Tatlong magkakaibang paggamit ng modyul na ito ang ipinapakita sa tutorial na ito gamit ang mga simpleng halimbawa.