bill lam wrote:
Sorry this must be a faq but I cannot find any answer in google.

Google?? If you think it's a FAQ, you'd better check the Perl FAQ.

    perldoc -q "insert a line"

Suppose I want to change 2 lines to 3 line in files as follow using perl -p -i -e command
aa
bb

aa
cc
bb

this doesn't work
perl -p -i -e "s/aa\nbb/aa\ncc\nbb/g;" foo.txt

what is the correct command (I use linux).

Personally I would prefer a separate Perl script for this task.

    open my $fh, '+<', 'file.txt' or die $!;
    my $data;
    {
        local $/;
        $data = <$fh>;
    }
    $data =~ s/aa\nbb/aa\ncc\nbb/g;
    seek $fh, 0, 0;
    print $fh $data;

More typing, but easier to see what you are doing.

--
Gunnar Hjalmarsson
Email: http://www.gunnar.cc/cgi-bin/contact.pl

--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to