Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > Чтение и запись в файл


Автор: Vredniy 10.3.2008, 11:28
Возможно записывать данные в конкретную строчку, тоисть дописать какие то строчки ?? 
А также можно считывать не все строки из файла а конкретные ???  smile 
 smile 

Автор: sir_nuf_nuf 10.3.2008, 13:30
Ага, все можно.

а) если вы хотите читать (или писать) с конкретной позиции в файле - вам поможет функция seek
http://perldoc.perl.org/functions/seek.html

б) если вы хотите дописывать в файл, то проще всего открыть его в режиме append
open $handle, ">>some.file";              #>> - append mode

в) если вы хотите писать в середину файла, причем так что бы не переписывать, а вставлять - 
быстрого решения нет. Это не из-за перла, это из-за операционок =). Прийдется решение придумывать самому.
Или искать готовое - наверняка есть какой-нть модуль.

г) если вам нужно считать некоторые строчки, и при этом файл не очень большой, то можно поступить так:

open $fh, "<a.txt";
@strings = <$fh>;

оператор <> в списковом контексте ( когда идет присвоение массиву например) возвращает массив строк в файле.
далее можно делать с этим массивом все что угодно.

д) есть модуль Tie::File - это мапинг файла на массив. По идее решит ваши проблемы, но помнится с ним самим возникали проблемы, поищите на этом форуме.
http://search.cpan.org/~mjd/Tie-File-0.96/lib/Tie/File.pm

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)