![]() |
|
Problems? Is your data what you think it is? | |
PerlMonks |
How do I use a regular expression to strip C style comments from a file?by faq_monk (Initiate) |
on Oct 08, 1999 at 00:25 UTC ( [id://665]=perlfaq nodetype: print w/replies, xml ) | Need Help?? |
Current Perl documentation can be found at perldoc.perl.org. Here is our local, out-dated (pre-5.6) version: While this actually can be done, it's much harder than you'd think. For example, this one-liner
perl -0777 -pe 's{/\*.*?\*/}{}gs' foo.c will work in many but not all cases. You see, it's too simple-minded for certain kinds of C programs, in particular, those with what appear to be comments in quoted strings. For that, you'd need something like this, created by Jeffrey Friedl:
$/ = undef; $_ = <>; s#/\*[^*]*\*+([^/*][^*]*\*+)*/|("(\\.|[^"\\])*"|'(\\.|[^'\\])*'|\n+|.[^/"'\\]*)#$2#g; print;
This could, of course, be more legibly written with the
|
|