Модуль FileHandle в Perl

Modul Filehandle V Perl



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

Некоторые полезные методы FileHandle

Некоторые часто используемые методы модуля FileHandle:

Метод Цель
рассказывать Он используется для подсчета размера файла в байтах.
получить Он используется для чтения каждого символа содержимого файла.
искать Он используется для перемещения указателя файла в определенную позицию.
эоф Он указывает на конец файла.
закрывать Он используется для закрытия ранее определенного обработчика файлов.

Примеры Perl FileHandle

В этой части руководства показаны различные варианты использования модуля FileHandle на нескольких примерах.







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

Создайте файл Perl с помощью следующего сценария, который создает новый файл с помощью модуля FileHandle. Имя файла берется у пользователя и проверяется, существует оно или нет. Если файл не существует, файл открывается для записи путем создания объекта класса FileHandle после ожидания 1 секунды.



#!/usr/bin/perl

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

#Возьмем имя файла у пользователя для создания
Распечатать «Введите имя файла:» ;
мой $ж '=' <>;
чавкать ( ) ;

#Проверяем, существует ли файл уже или нет
если ( -е $ф )
{
#Распечатываем сообщение, если файл существует
сказать 'Файл уже существует.' ;
}

еще

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

#Открываем файл для записи
если ( $FileHandler- > открыть ( '> $f' ) )
{
#Записываем строку текста в файл
Распечатать $FileHandler 'Это тестовое сообщение. \п Это вторая линия. \п ' ;
#Закрываем обработчик файла
$FileHandler- > закрывать ;
}

}

Выход:



Согласно выводам, файла «test.txt» раньше не существовало, и этот файл создается с двумя строками текста. Затем выполняется команда «cat», чтобы проверить, успешно ли создан файл с содержимым или нет:





  п1-1

Сценарий выполняется снова с тем же входным значением, и здесь печатается сообщение «Файл уже существует», поскольку файл «test.txt» был создан ранее.



  п1-2

Пример 2. Чтение содержимого файла

Создайте файл Perl с помощью следующего сценария, который считывает содержимое файла с использованием класса FileHandle, если файл существует. Имя файла берется у пользователя.

#!/usr/bin/perl

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

#Возьмем имя файла у пользователя для создания
мой $ж '=' <>;
мой $ж '=' ;
чавкать ( ) ;

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

Выход:

Содержимое файла «test.txt» выводится на вывод, поскольку оно существует в текущем местоположении:

  п2

Пример 3. Добавление содержимого в файл

Создайте файл Perl с помощью следующего сценария, который добавляет содержимое в непустой файл и выводит размер файла в байтах. Имя файла берется у пользователя. Если файл существует и содержит данные, в конец файла добавляется строка текста. В противном случае печатается сообщение.

#!/usr/bin/perl

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

#Возьмем имя файла у пользователя для создания
Распечатать «Введите имя файла:» ;
мой $ж '=' <>;
чавкать ( ) ;

#Проверяем, существует ли файл и не пуст ли он
если ( -с $ф )
{


мой $FileHandler '=' FileHandle- > новый ( ' >> $f' ) ;
#Распечатываем размер файла
Распечатать 'Размер файла' . $FileHandler- > рассказывать. 'байты. \п ' ;
сказать 'Добавление содержимого в файл...' ;
#Подождите 1 секунду
спать ( 1 ) ;

#Записываем содержимое в конец файла
Распечатать $FileHandler «Это новая линия. \п ' ;
#Закрываем обработчик файла
$FileHandler- > закрывать ;
}
еще
{
сказать 'Файл не существует.' ;
}

Выход:

Согласно выводам, к файлу «test.txt» добавляется новая строка, а размер файла составляет 45 байт. Затем выполняется команда «cat», чтобы проверить, правильно ли добавлен контент в файл:

  п3-1

Заключение


Модуль FileHandle — это один из вариантов Perl для чтения, записи или добавления файлов. В этом руководстве на простых примерах показаны три различных варианта использования этого модуля.