代码之家  ›  专栏  ›  技术社区  ›  justintime

使用perl删除注释

  •  2
  • justintime  · 技术社区  · 16 年前

    我一直在做的事情就是在处理文件时从文件中删除注释。我想知道是否有一个模块来做这个。

    我一直在写的代码

        while(<>) {
            s/#.*// ;
            next if /^ \s+ $/x ;
    
            **** do something useful here ****
        }
    

    编辑 为了澄清,输入不是perl。这是一个我自己制作的文本文件,可能有我想以某种方式处理的数据。我希望能够放置被我的程序忽略的注释

    2 回复  |  直到 16 年前
        1
  •  3
  •   leonbloy    16 年前

    这个问题不清楚它是什么类型的文件。我们在处理Perl源文件吗?如果是这样,你的方法并不完全正确-请看巴孔的评论。众所周知,Perl源文件非常困难(不可能?)用正则表达式解析。在这种情况下,或者如果需要处理几种类型的文件,请按照niffle的建议使用regexp::common::comment。否则,如果您认为您的regex逻辑对您的场景是正确的,那么我个人更喜欢显式地编写它,它只是一对strighforward行,使用一个模块(并且您引入了一个依赖项)几乎没有什么好处。

        2
  •  5
  •   Nifle Hassan Syed    16 年前

    除非这是一个学习经验我建议你用 Regexp::Common::comment 而不是自己写正则表达式。

    它支持多种语言。