Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight

Re: Problem with PPI HereDoc's

by Khen1950fx (Canon)
on Nov 21, 2011 at 03:29 UTC ( #939129=note: print w/replies, xml ) Need Help??

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 (Chaplain) 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.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://939129]
and !@monks...

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (7)
As of 2017-11-24 02:47 GMT
Find Nodes?
    Voting Booth?
    In order to be able to say "I know Perl", you must have:

    Results (343 votes). Check out past polls.