Некоторые полезные методы 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», чтобы проверить, успешно ли создан файл с содержимым или нет:
Сценарий выполняется снова с тем же входным значением, и здесь печатается сообщение «Файл уже существует», поскольку файл «test.txt» был создан ранее.
Пример 2. Чтение содержимого файла
Создайте файл Perl с помощью следующего сценария, который считывает содержимое файла с использованием класса FileHandle, если файл существует. Имя файла берется у пользователя.
#!/usr/bin/perlиспользуйте строгий ;
использовать предупреждения ;
используйте 5.34.0 ;
используйте FileHandle ;
#Возьмем имя файла у пользователя для создания
мой $ж '=' <>;
мой $ж '=' ;
чавкать ( $ф ) ;
#Проверяем, существует ли файл уже или нет
если ( -е $ф )
{
#Открываем файл для чтения
мой $FileHandler '=' FileHandle- > новый ( '<$f' ) ;
#Распечатываем содержимое файла
Распечатать < $FileHandler >;
#Закрываем обработчик файла
закрыть $FileHandler ;
}
Выход:
Содержимое файла «test.txt» выводится на вывод, поскольку оно существует в текущем местоположении:
Пример 3. Добавление содержимого в файл
Создайте файл Perl с помощью следующего сценария, который добавляет содержимое в непустой файл и выводит размер файла в байтах. Имя файла берется у пользователя. Если файл существует и содержит данные, в конец файла добавляется строка текста. В противном случае печатается сообщение.
#!/usr/bin/perlиспользуйте строгий ;
использовать предупреждения ;
используйте 5.34.0 ;
используйте FileHandle ;
#Возьмем имя файла у пользователя для создания
Распечатать «Введите имя файла:» ;
мой $ж '=' <>;
чавкать ( $ф ) ;
#Проверяем, существует ли файл и не пуст ли он
если ( -с $ф )
{
мой $FileHandler '=' FileHandle- > новый ( ' >> $f' ) ;
#Распечатываем размер файла
Распечатать 'Размер файла' . $FileHandler- > рассказывать. 'байты. \п ' ;
сказать 'Добавление содержимого в файл...' ;
#Подождите 1 секунду
спать ( 1 ) ;
#Записываем содержимое в конец файла
Распечатать $FileHandler «Это новая линия. \п ' ;
#Закрываем обработчик файла
$FileHandler- > закрывать ;
}
еще
{
сказать 'Файл не существует.' ;
}
Выход:
Согласно выводам, к файлу «test.txt» добавляется новая строка, а размер файла составляет 45 байт. Затем выполняется команда «cat», чтобы проверить, правильно ли добавлен контент в файл:
Заключение
Модуль FileHandle — это один из вариантов Perl для чтения, записи или добавления файлов. В этом руководстве на простых примерах показаны три различных варианта использования этого модуля.