URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 23457
[ Назад ]

Исходное сообщение
"perl: считать и записать в файл, как???"

Отправлено wqerty , 26-Ноя-02 16:37 
задача на perl:
открыть текстовый файл, считать из него строки в список, удалить из него все строки, записать в него новые строки из списка... причем этот файл можно открывать только один раз, т.е. использовать только один оператор open (или какой другой)

по отдельности если открывать - я могу:
открыть для чтения, считать из файла - <FILE>
открыть для записи, записать в файл - print FILE
а как это все с одним открытеем - не знаю, пробовал открывать с параметром >+ - не получается...

научите как, плиз....


Содержание

Сообщения в этом обсуждении
"RE: perl: считать и записать в файл, как???"
Отправлено LinaS , 26-Ноя-02 18:52 
>задача на perl:
>открыть текстовый файл, считать из него строки в список, удалить из него
>все строки, записать в него новые строки из списка... причем этот
>файл можно открывать только один раз, т.е. использовать только один оператор
>open (или какой другой)
>

а почему?

>по отдельности если открывать - я могу:
>открыть для чтения, считать из файла - <FILE>
>открыть для записи, записать в файл - print FILE
>а как это все с одним открытеем - не знаю, пробовал открывать с параметром >+ - не получается...
>
>научите как, плиз....

"+>" снесет содержимое файла еще до того, как ты успеешь его прочитать...
попробуй "+<" (на чтение и запись), может, подойдет?


"RE: perl: считать и записать в файл, как???"
Отправлено wqerty , 26-Ноя-02 19:00 
>
>а почему?
>

нужно так, один раз открыть, заблокировать, и работать с ним

>
>"+>" снесет содержимое файла еще до того, как ты успеешь его прочитать...
>попробуй "+<" (на чтение и запись), может, подойдет?

буду пробовать


"RE: perl: считать и записать в файл, как???"
Отправлено LinaS , 26-Ноя-02 19:21 
>>
>>а почему?
>>
>
>нужно так, один раз открыть, заблокировать, и работать с ним
>
>>
>>"+>" снесет содержимое файла еще до того, как ты успеешь его прочитать...
>>попробуй "+<" (на чтение и запись), может, подойдет?
>
>буду пробовать

у меня работает
вот примитивный кусок:

#!/usr/bin/perl

my @strings;
my $i;

open(TESTFILE, "+< test.file");
while(<TESTFILE>) {
    $strings[@strings]=$_;
}
seek(TESTFILE,0,0);
for($i=(@strings-1);$i>=0;$i--) {
    print TESTFILE $strings[$i];
}
close(TESTFILE);%

до его запуска:
йt test.file
rurururu
babababa
lalalala

после запуска:
%./test1.pl
йt test.file
lalalala
babababa
rurururu

удачи


"RE: perl: считать и записать в файл, как???"
Отправлено LinaS , 26-Ноя-02 19:24 

>йt test.file
~~~~

в оригинале это было йt test.file
:)


"RE: perl: считать и записать в файл, как???"
Отправлено wqerty , 27-Ноя-02 10:21 
>
>>йt test.file
>~~~~
>
>в оригинале это было йt test.file
>:)

большое спасибо


"RE: perl: считать и записать в файл, как???"
Отправлено Lex , 27-Июн-12 09:29 
>>
>>>йt test.file
>>~~~~
>>
>>в оригинале это было йt test.file
>>:)
> большое спасибо

)))))))))))