Модул FileHandle в Perl

Modul Filehandle V Perl



В Perl съществуват множество начини за създаване и достъп до файловете. Файлът може да бъде отворен за четене, писане или актуализиране в Perl с помощта на файлов манипулатор. Файловият манипулатор може да се използва в метода open() във формат за структурирано програмиране или обектно-ориентиран формат за програмиране. Модулът FileHandle може да се използва в Perl, за да декларира файловия манипулатор като обект и да използва този обект за отваряне на файл за създаване или достъп чрез различни свойства и методи на класа „FileHandle“. Използването на някои общи методи на модула FileHandle и методите за използване на модула FileHandle за работа с файла в Perl са показани в този урок.

Някои полезни методи на FileHandle

Някои често използвани методи на модула FileHandle са както следва:

Метод Предназначение
казвам Използва се за отчитане на размера на файла в байтове.
getc Използва се за четене на всеки знак от съдържанието на файла.
търси Използва се за преместване на показалеца на файла до определена позиция.
eof Показва края на файла.
близо Използва се за затваряне на предварително дефинирания файлов манипулатор.

Примери за Perl FileHandle

Различните употреби на модула FileHandle са показани в тази част на урока с помощта на множество примери.







Пример 1: Създайте нов файл

Създайте Perl файл със следния скрипт, който създава нов файл с помощта на модула FileHandle. Името на файл се взема от потребителя и се проверява дали съществува или не. Ако файлът не съществува, той се отваря за запис чрез създаване на обект от класа “FileHandle” след изчакване 1 секунда.



#!/usr/bin/perl

използвайте строг ;
използване предупреждения ;
използвайте 5.34.0 ;
използвайте FileHandle ;

#Вземете името на файла от потребителя за създаване
печат „Въведете името на файла:“ ;
моите $f = <>;
чомп ( $f ) ;

#Проверете дали файлът вече съществува или не
ако ( -e $f )
{
#Отпечатайте съобщение, ако файлът съществува
казвам „Файлът вече съществува.“ ;
}

друго

{
#Създаване на обект за обработка на файлове
моя $FileHandler = FileHandle- > нов ;
казвам „Записване във файла...“ ;
#Изчакайте 1 секунда
сън ( 1 ) ;

#Отворете файла за запис
ако ( $FileHandler- > отворен ( '> $f' ) )
{
#Напишете ред текст във файла
печат $FileHandler „Това е тестово съобщение. Това е втората линия. ' ;
#Затворете файловия манипулатор
$FileHandler- > близо ;
}

}

Изход:



Според изхода файлът „test.txt“ не е съществувал преди и този файл е създаден с два реда текст. След това се изпълнява командата „cat“, за да се провери дали файлът е създаден успешно със съдържанието или не:





  p1-1

Скриптът се изпълнява отново със същата входна стойност и тук се отпечатва съобщението „Файлът вече съществува“, тъй като файлът „test.txt“ е създаден преди това.



  p1-2

Пример 2: Прочетете съдържанието на файла

Създайте Perl файл със следния скрипт, който чете съдържанието на файл, използвайки класа „FileHandle“, ако файлът съществува. Името на файла се взема от потребителя.

#!/usr/bin/perl

използвайте строг ;
използване предупреждения ;
използвайте 5.34.0 ;
използвайте FileHandle ;

#Вземете името на файла от потребителя за създаване
моите $f = <>;
моите $f = ;
чомп ( $f ) ;

#Проверете дали файлът вече съществува или не
ако ( -e $f )
{
#Отворете файла за четене
моя $FileHandler = FileHandle- > нов ( '<$f' ) ;
#Отпечатайте съдържанието на файла
печат < $FileHandler >;
#Затворете файловия манипулатор
затворете $FileHandler ;
}

Изход:

Съдържанието на файла „test.txt“ се отпечатва в изхода, защото съществува в текущото местоположение:

  p2

Пример 3: Добавяне на съдържание във файл

Създайте Perl файл със следния скрипт, който добавя съдържанието в непразен файл и отпечатва размера на файла в байтове. Името на файла се взема от потребителя. Ако файлът съществува и съдържа данните, в края на файла се добавя ред с текст. В противен случай се отпечатва съобщение.

#!/usr/bin/perl

използвайте строг ;
използване предупреждения ;
използвайте 5.34.0 ;
използвайте FileHandle ;

#Вземете името на файла от потребителя за създаване
печат „Въведете името на файла:“ ;
моите $f = <>;
чомп ( $f ) ;

#Проверете дали файлът вече съществува и не е празен или не
ако ( -s $f )
{


моя $FileHandler = FileHandle- > нов ( ' >> $f' ) ;
#Отпечатайте размера на файла
печат 'Размерът на файла е ' . $FileHandler- > казвам. ' байтове. ' ;
казвам „Добавяне на съдържание във файла...“ ;
#Изчакайте 1 секунда
сън ( 1 ) ;

#Напишете съдържание в края на файла
печат $FileHandler „Това е нова линия. ' ;
#Затворете файловия манипулатор
$FileHandler- > близо ;
}
друго
{
казвам 'Файлът не съществува.' ;
}

Изход:

Според изхода, към файла „test.txt“ се добавя нов ред и размерът на файла е 45 байта. След това се изпълнява командата 'cat', за да се провери дали съдържанието е добавено правилно във файла или не:

  p3-1

Заключение


Модулът FileHandle е една от опциите на Perl за четене, писане или добавяне на файлове. Три различни употреби на този модул са показани в този урок с прости примери.