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