FileHandle Module sa Perl

Filehandle Module Sa Perl



Maraming paraan ang umiiral sa Perl para sa paggawa at pag-access sa mga file. Maaaring buksan ang isang file para sa pagbabasa, pagsulat, o pag-update sa Perl gamit ang isang tagapangasiwa ng file. Ang file handler ay maaaring gamitin sa open() na paraan sa isang structured programming format o object-oriented programming format. Ang FileHandle module ay maaaring gamitin sa Perl upang ideklara ang file handler bilang isang object at gamitin ang object na ito upang buksan ang isang file para sa paglikha o pag-access gamit ang iba't ibang mga katangian at pamamaraan ng 'FileHandle' na klase. Ang paggamit ng ilang karaniwang pamamaraan ng FileHandle module at ang mga paraan ng paggamit ng FileHandle module upang gumana sa file sa Perl ay ipinapakita sa tutorial na ito.

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:





  p1-1

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.



  p1-2

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/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
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:

  p2

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/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 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:

  p3-1

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.