prassi has asked for the wisdom of the Perl Monks concerning the following question:
I am re-posting the same question but with some changes in the code for which the earlier mentioned solution also dint work
#include <stdio.h> #include "report.h" void main() { #ifdef CHECK_REPORT report("This is good"); reports("This is also good") #endif #if defined (REPORT_ENABLE) report("This is not good"); #endif printf("The execution is completed\n"); }
please see in the code report may end with colon or not that is intentional. The output has to be like this
But the perl code which I have used below#include <stdio.h> #include "report.h" void main() { #ifdef CHECK_REPORT #endif #if defined (REPORT_ENABLE) #endif printf("The execution is completed\n"); }
when the code encounters the line with REPORT_ENABLE then it removes the rest of the code including printf.$/ = undef; $_ = <file1>; s#\breport[s]?.*? \)\;|("[^"].*?")#defined $1 ? $1 :""#gsiex; print $_
From the previous post the solution given was
this works if the report was not in multiple lines. can you suggest what changes I need to do my regex to get the required answer.s# .* report [s]? .* ; .* ##sx;
Regards,
-Prassi
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Text matching repost
by Neighbour (Friar) on Jun 18, 2012 at 09:29 UTC | |
by Neighbour (Friar) on Jun 18, 2012 at 12:19 UTC | |
by afoken (Chancellor) on Jun 18, 2012 at 14:24 UTC | |
by Neighbour (Friar) on Jun 19, 2012 at 06:39 UTC | |
by prassi (Acolyte) on Jun 18, 2012 at 10:45 UTC | |
by Neighbour (Friar) on Jun 18, 2012 at 11:09 UTC | |
|
Re: Text matching repost
by ckj (Chaplain) on Jun 18, 2012 at 09:27 UTC | |
|
Re: Text matching repost
by Cristoforo (Curate) on Jun 18, 2012 at 16:37 UTC |