Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : InSAn                                2:5020/400     16 Feb 2001  19:50:15
 To : All
 Subject : Запись в файл
 -------------------------------------------------------------------------------- 
 
 Hi, AlL!
 
 Как-то здесь велось обсуждение о том, что при записи в файл лучше создавать
 новый, а потом переименовывать (дабы не потерять инфу). Так вот, хотел
 спросить у гуру: безопасна ли такая конструкция:
 ------------------------
 open(DATA, '+<dat.dat') || die &generate_error($!); # Сама ф-ция
 generate_error не приводится
 flock(DATA, 2);
 @record = <DATA>;
 $find = 0;
 
 for ($i = 0; $i < scalar(@record); $i++) {
     @rec = split(/\|/,$record[$i]);
     chomp(@rec);
     if ($rec[0] eq param('num')) {
         $find = 1;
         $rec[1]++;
         ... Что-то еще делаем с @rec
         $record[$i] = join("\|",@rec) . "\n";
         last;
     }
 }
 if ($find) {
     seek(DATA,0,0);
     print DATA @record;
     truncate DATA, tell(DATA);
 }
 flock(DATA, 8);
 close(DATA);
 ------------------------
 
 Правильно (безопасно ли при "вырубании" питания) так? Или как лучше?
 
 - ---
 Best Regards, InSAn (admin@proext.com)
 
    http://insan.al.ru - Уголок программиста
    http://adv.proext.com - Магазин сетевой рекламы
 -- 
 Отправлено через сервер Talk.Ru - http://www.talk.ru
 --- ifmail v.2.15dev5
  * Origin: Talk.Ru (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Запись в файл   InSAn   16 Feb 2001 19:50:15 
Архивное /ru.perl/6488d9fe7180.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional