Някои полезни методи на 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“, за да се провери дали файлът е създаден успешно със съдържанието или не:
Скриптът се изпълнява отново със същата входна стойност и тук се отпечатва съобщението „Файлът вече съществува“, тъй като файлът „test.txt“ е създаден преди това.
Пример 2: Прочетете съдържанието на файла
Създайте Perl файл със следния скрипт, който чете съдържанието на файл, използвайки класа „FileHandle“, ако файлът съществува. Името на файла се взема от потребителя.
#!/usr/bin/perlизползвайте строг ;
използване предупреждения ;
използвайте 5.34.0 ;
използвайте FileHandle ;
#Вземете името на файла от потребителя за създаване
моите $f = <>;
моите $f = ;
чомп ( $f ) ;
#Проверете дали файлът вече съществува или не
ако ( -e $f )
{
#Отворете файла за четене
моя $FileHandler = FileHandle- > нов ( '<$f' ) ;
#Отпечатайте съдържанието на файла
печат < $FileHandler >;
#Затворете файловия манипулатор
затворете $FileHandler ;
}
Изход:
Съдържанието на файла „test.txt“ се отпечатва в изхода, защото съществува в текущото местоположение:
Пример 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', за да се провери дали съдържанието е добавено правилно във файла или не:
Заключение
Модулът FileHandle е една от опциите на Perl за четене, писане или добавяне на файлове. Три различни употреби на този модул са показани в този урок с прости примери.