Perl является идеальный язык для работы с файлами. Он обладает базовыми возможностями любого сценария оболочки и продвинутыми инструментами, такими как регулярные выражения, которые делают его полезным. Для того, чтобы работать с Perl файлы, сначала вам нужно научиться читать и писать в них. Чтение файла выполняется в Perl путем открытия дескриптора файла для определенного ресурса.
Чтение файла в Perl
Для работы с примером из этой статьи вам понадобится файл для чтения сценарием Perl. Создайте новый текстовый документ с именем data.txt и поместите его в тот же каталог, что и Perl программа ниже.
В самом файле просто введите несколько имен - по одному в строке:
При запуске сценария выходные данные должны совпадать с самим файлом. Скрипт просто открывает указанный файл и перебирает его построчно, печатая каждую строку по мере необходимости.
Затем создайте дескриптор файла с именем MYFILE, откройте его и укажите его в файле data.txt.
Затем используйте простой цикл while для автоматического чтения каждой строки файла данных по одной за раз. Это помещает значение каждой строки во временную переменную $ _ для одного цикла.
Внутри цикла используйте функцию chomp, чтобы очистить символы новой строки от конца каждой строки, а затем выведите значение $ _, чтобы показать, что оно было прочитано.
Наконец, закройте дескриптор файла, чтобы завершить программу.
Запись в файл в Perl
Возьмите тот же файл данных, с которым вы работали учимся читать файл в Perl. На этот раз вы напишите ему. Чтобы записать файл в Perl, вы должны открыть дескриптор файла и указать его на файл, который вы пишете. Если вы используете Unix, Linux или Mac, вам также может понадобиться перепроверить ваши права доступа к файлу, чтобы узнать, разрешено ли вашему Perl-сценарию записывать данные в файл данных.
Если вы запустите эту программу, а затем запустите программу из предыдущего раздела по чтению файла в Perl, вы увидите, что она добавила еще одно имя в список.
Фактически, каждый раз, когда вы запускаете программу, она добавляет еще одного «Боба» в конец файла. Это происходит потому, что файл был открыт в режиме добавления. Чтобы открыть файл в режиме добавления, просто добавьте к имени файла префикс >> символ. Это сообщает функции open, что вы хотите записать в файл, прикрепив больше к его концу.
Если вместо этого вы хотите перезаписать существующий файл новым, вы используете > один больше, чем символ, чтобы сообщить открытой функции, что вы хотите каждый раз новый файл. Попробуйте заменить >> на>, и вы увидите, что файл data.txt сокращается до одного имени - Боба - каждый раз, когда вы запускаете программу.
Затем используйте функцию печати, чтобы напечатать новое имя в файл. Вы печатаете в файловый дескриптор, следуя инструкции print с файловым дескриптором.
Наконец, закройте дескриптор файла, чтобы завершить программу.