|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Ruslan Sulemanov 2:4635/1024.27 26 Apr 2003 00:30:53 To : Renat Araslanow Subject : удаление строки по шаблону --------------------------------------------------------------------------------
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> вот теперь действительно фсё.
тогда было yже всё! :) зачем было дескриптор обрезать там где
$tls-($szs...., если yже делаешь truncate ?
что значит $lenght_of_input_rec_sep ?
странно что текст не потерял \n при добавлении $rest...
С Уважением, Руслан.
--- GoldED+/FreeBSD 4.8-STABLE
* Origin: *JEET:* support@icu.net.ua *:UA* (2:4635/1024.27)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/45933ea9d347.html, оценка из 5, голосов 10
|