用perl脚本实现一个简单的行注释到块注释的转换
由于公司的代码规范规定,严禁使用行注释代码。但项目写了一半有很多行注释的地方,一个个改起来未免太麻烦了些,所以写了一个比较‘简易’的perl脚本来实现批量的修改。
由于没有系统的学习过perl,用起来就比较随意了一些。
代码仅仅只有20多行,也只是对常见的双引号和单引号的特殊情况做了判断。
#! /usr/bin/perl use strict; use Tie::File; my $argc = @ARGV; my $cnt = 0; while ($cnt < $argc) { tie my @file, 'Tie::File', $ARGV[$cnt++]; for (@file) { my $fileLine = $_; my $flag = 0; $fileLine =~ s/\".*\"//g; $fileLine =~ s/\'.*\'//g; if ($fileLine =~ /\/\/+(.*)/) { my $note = $1; if ($note =~ /^ /) { $_ =~ s/\/\/+$note/\/\*$note \*\//; } else { $_ =~ s/\/\/+$note/\/\* $note \*\//; } } } }
Tie::File的作用是对记录型文件进行原地修改。
测试了下列的情况:
1. // a
2. /// a
3. //a
4. "//a" //a
5. '''a// a' // a
转换以后变成了
1. /* a */
2. /* a */
3. /* a */
4. "//a" /* a */
5. '''a// a' /* a */
代码虽然挺简单的,不过当做日常工具来使用还是不错的。就先这样。