删除可执行代码之后的多行注释

时间:2016-01-30 05:57:10

标签: regex perl

我有一个带有一些代码和注释行的example.c文件, 在该文件中,我有一个评论专栏:

static Bool Start = FALSE;/*  $n=Start$ $t=static Bool$ $i=FALSE$
                              $d=initialize start to false$ */

我使用perl删除注释行,我尝试使用正则表达式删除注释行。

我已尝试过以下代码,但它无效,

`open(F,"<","example.c") or die "Could not open the .c file ";
 {
 $MultilineComment0 = 0;
 while(my $matchLine = <F>)
{
if (($matchLine =~ s/^.*\/\*.*/) && ($matchLine !~ m/\*\/$/)) # matches Code         + Multi Comment line Ex: Variable Declaration statements
{
 $MultilineComment0 = 1;
 next;                  #removes comment part from excutable lines
}
if ($MultilineComment0 == 1)
{
   if ($matchLine =~ m/\*\/$/)
{
$MultilineComment0 = 0;
}
next;
}
push(@executable_code_only, $matchLine);
}
}
close(F);
open(F, ">",example.c");
 print F ("@executable_code_only");
close(F);`

如果有人为我提供正则表达式来删除这些注释行,我会很有帮助。

0 个答案:

没有答案