in reply to Problem with PPI HereDoc's

You need to create a new PPI::Document object for each here-doc. I say that because I tried calling two here-docs, but PPI would only give me one. Also, I couldn't replicate your output. How did you replace 'Something' with 'else'? I would modify the docs like this:
#!/usr/bin/perl use strict; use warnings; use PPI; use PPI::Dumper; my $data; ($data = <<'ENDOFSQL') =~ s/Something/else/; Something ENDOFSQL my($Document) = PPI::Document->new(\$data); my $Dumper = PPI::Dumper->new($Document); $Dumper->print;

Replies are listed 'Best First'.
Re^2: Problem with PPI HereDoc's
by clueless newbie (Curate) on Nov 21, 2011 at 12:13 UTC

    Hi, Khen1950fx,

    Thank you for replying.

    I think

    push @NewHereDoc_a,PPI::Document->new(\( $HereDoc_o->content() ."\n" ."/* $Comment_S\n" # Comment .join('',$HereDoc_o->heredoc()) # ... origina +l commented out ."*/\n" # .$NewText_s # ... replace +ment ."\n" .$HereDoc_o->terminator() ));

    should create a new PPI::Document object for each of the HereDocs that I want to update.