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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Renat Araslanow                      2:5011/119.1   26 Apr 2003  19:00:36
 To : Ruslan Sulemanov
 Subject : удаление строки по шаблону
 -------------------------------------------------------------------------------- 
 
 
  Однажды 26 Apr 03 00:30, Ruslan Sulemanov писал Renat Araslanow:
 
 RS>>>>     open(FU,"+< $path") || die "$!\n";
 RS>>>>     flock(FU,2);
 RS>>>>     undef @mster;
 RS>>>>    while(<FU>)
 RS>>>>    {
 RA>>>             last if($_=~m/^\s*($шаблон)\s*$/i)
 RA>>>         }
 RA>>>        $tls=tell FU;
 RS>>>>    $szs=length($_);
 RA>>>         undef $/;
 RA>>>         $rest = <FU>;
 RA>>>         seek( FU, $tls-($szs + $lenght_of_input_rec_sep), SEEK_SET);
 RA>>>         binmode FU;
 RA>>>         print FU $rest;
 RA>>             truncate FU, tell(FU)-($szs+ $lenght_of_input_rec_sep);
 RA>>>         #flock, афаир, снимается после закрытия файла
 RA>>>         close FU;
 RA>>> И ФСЁ!
 RA>> вот теперь действительно фсё.
 RS>     тогда было yже всё! :)
 
 нет.
 
 RS> зачем было дескриптор обрезать там где
 RS> $tls-($szs...., если yже делаешь truncate ?
 
 вот картинка
 файл:
 яяя
 яяя
 ввв
 ааа
 ффф
 
 допустим убрали строку ввв. без трункейта файл будет выглядеть так:
 яяя
 яяя
 ааа
 ффф
 ффф
 
 с трункейтом
 яяя
 яяя
 ааа
 ффф
 
 RS>     что значит $lenght_of_input_rec_sep ?
 
 чему равен \n на данной платформе. (2 на вин/дос, 1 на никсах)
 
 RS>     странно что текст не потерял \n при добавлении $rest...
 
 дык, бинмоде там не просто погулять вышла.
 
 --- [Преждевременная оптимизация -- корень всех зол Д. Кнут]
  * Origin: Чайник с программным управлениемЪ (2:5011/119.1)
 
 

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

 Тема:    Автор:    Дата:  
 удаление строки по шаблону   Ruslan Sulemanov   24 Apr 2003 17:24:53 
 удаление строки по шаблону   Renat Araslanow   25 Apr 2003 01:05:30 
 удаление строки по шаблону   Renat Araslanow   25 Apr 2003 21:04:09 
 удаление строки по шаблону   Ruslan Sulemanov   26 Apr 2003 00:30:53 
 удаление строки по шаблону   Renat Araslanow   26 Apr 2003 19:00:36 
 удаление строки по шаблону   Ruslan Sulemanov   28 Apr 2003 15:00:03 
 удаление строки по шаблону   Ruslan Sulemanov   25 Apr 2003 13:44:59 
 Re: удаление строки по шаблону   Alexey Mahotkin   25 Apr 2003 03:04:14 
 Re: удаление строки по шаблону   Yevgeny Manyashev   25 Apr 2003 08:16:24 
Архивное /ru.perl/32783eaa841e.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional