Удаление строк в файле на perl

Тема в разделе "Другие языки", создана пользователем pikasun, 17 авг 2011.

Статус темы:
Закрыта.
Модераторы: Цукер
  1. pikasun

    pikasun Постоялец

    Регистр.:
    23 сен 2009
    Сообщения:
    117
    Симпатии:
    9
    Требуется на perl удалить все строки в файле между двух меток #START и #END

    #START
    bla bla
    bla
    #END
     
  2. jami

    jami Постоялец

    Регистр.:
    10 авг 2011
    Сообщения:
    114
    Симпатии:
    39
    PHP:
    #!/usr/bin/perl -w
    use strict;

    my $file shift || "./in.txt";
    my $outfile shift || "./out.txt";

    open IN"<"$file;
    my @all = <IN>;
    my $st join "", @all;
    $st =~ s/^(.*#START)(.*)(#END.*)$/$1$3/s;
    open OUT">"$outfile;
    print 
    OUT $st;
    close OUT;
    close IN;
    Код проверил у себя, вроде работает
     
    pikasun нравится это.
Статус темы:
Закрыта.