Неке корисне методе ФилеХандле-а
Неке најчешће коришћене методе модула ФилеХандле су следеће:
Метод | Сврха |
реци | Користи се за бројање величине датотеке у бајтовима. |
гетц | Користи се за читање сваког знака садржаја датотеке. |
тражити | Користи се за померање показивача датотеке на одређену позицију. |
еоф | Означава крај датотеке. |
Близу | Користи се за затварање претходно дефинисаног руковаоца датотекама. |
Примери Перл ФилеХандле-а
Различите употребе модула ФилеХандле приказане су у овом делу упутства користећи више примера.
Пример 1: Креирајте нову датотеку
Креирајте Перл датотеку са следећом скриптом која креира нову датотеку користећи ФилеХандле модул. Име датотеке се узима од корисника и проверава да ли постоји или не. Ако датотека не постоји, датотека се отвара за писање креирањем објекта класе „ФилеХандле” након чекања 1 секунде.
#!/уср/бин/перл
користити строге ;
користити упозорења ;
користите 5.34.0 ;
користите ФилеХандле ;
#Преузмите име датотеке од корисника за креирање
принт 'Унесите име датотеке:' ;
мој $ф = <>;
цхомп ( $ф ) ;
#Проверите да ли датотека већ постоји или не
ако ( -е $ф )
{
#Одштампајте поруку ако датотека постоји
рецимо 'Датотека већ постоји.' ;
}
друго
{
#Креирај објекат за руковање датотекама
мој $ФилеХандлер = ФилеХандле- > Нова ;
рецимо 'Уписивање у датотеку...' ;
#Сачекајте 1 секунду
спавати ( 1 ) ;
#Отворите датотеку за писање
ако ( $ФилеХандлер- > отворен ( '> $ф' ) )
{
#Напишите ред текста у датотеку
принт $ФилеХандлер „То је тест порука. \н То је друга линија. \н ' ;
#Затворите обрађивач датотека
$ФилеХандлер- > Близу ;
}
}
Излаз:
Према излазу, датотека “тест.ткт” раније није постојала и ова датотека је креирана са два реда текста. Затим се извршава команда „цат“ да би се проверило да ли је датотека успешно креирана са садржајем или не:
Скрипта се поново извршава са истом улазном вредношћу и порука „Датотека већ постоји“ се штампа овде јер је датотека „тест.ткт“ креирана раније.
Пример 2: Прочитајте садржај датотеке
Креирајте Перл датотеку са следећом скриптом која чита садржај датотеке користећи класу „ФилеХандле“ ако датотека постоји. Име датотеке је преузето од корисника.
#!/уср/бин/перлкористити строге ;
користити упозорења ;
користите 5.34.0 ;
користите ФилеХандле ;
#Преузмите име датотеке од корисника за креирање
мој $ф = <>;
мој $ф = ;
цхомп ( $ф ) ;
#Проверите да ли датотека већ постоји или не
ако ( -е $ф )
{
#Отворите датотеку за читање
мој $ФилеХандлер = ФилеХандле- > Нова ( ' < $ф' ) ;
#Одштампајте садржај датотеке
принт < $ФилеХандлер >;
#Затворите обрађивач датотека
затворите $ФилеХандлер ;
}
Излаз:
Садржај датотеке „тест.ткт“ се штампа у излазу јер постоји на тренутној локацији:
Пример 3: Додајте садржај у датотеку
Направите Перл датотеку са следећом скриптом која додаје садржај у непразну датотеку и одштампа величину датотеке у бајтовима. Име датотеке је преузето од корисника. Ако датотека постоји и садржи податке, ред текста се додаје на крај датотеке. У супротном, порука се штампа.
#!/уср/бин/перлкористити строге ;
користити упозорења ;
користите 5.34.0 ;
користите ФилеХандле ;
#Преузмите име датотеке од корисника за креирање
принт 'Унесите име датотеке:' ;
мој $ф = <>;
цхомп ( $ф ) ;
#Проверите да ли датотека већ постоји и да ли је празна или не
ако ( -с $ф )
{
мој $ФилеХандлер = ФилеХандле- > Нова ( ' >> $ф' ) ;
#Одштампајте величину датотеке
принт „Величина датотеке је“ . $ФилеХандлер- > реци. „бајтова. \н ' ;
рецимо „Додавање садржаја у датотеку...“ ;
#Сачекајте 1 секунду
спавати ( 1 ) ;
#Напишите садржај на крају датотеке
принт $ФилеХандлер „То је нова линија. \н ' ;
#Затворите обрађивач датотека
$ФилеХандлер- > Близу ;
}
друго
{
рецимо 'Фајл не постоји.' ;
}
Излаз:
Према излазу, нови ред се додаје датотеци „тест.ткт“ и величина датотеке је 45 бајтова. Затим се извршава команда „цат“ да би се проверило да ли је садржај правилно додат у датотеку или не:
Закључак
Модул ФилеХандле је једна од опција Перла за читање, писање или додавање датотека. Три различите употребе овог модула су приказане у овом водичу користећи једноставне примере.