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
In reply to Text matching repost by prassi
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |