Perl 统计java代码行数

use warnings;
use strict;
use File::Find;
my $dir = "D:/workspace";
my @fileNames;
find(\&wanted,$dir);

sub wanted {
		next unless $_ =~ /\.java$/;
		push @fileNames , $File::Find::name;
}
my $count =0;
foreach my $filename (@fileNames){
	open(FILE,$filename);
	my $isCom = 0;
	foreach my $line(<FILE>){
		chomp $line;
		$line =~ s{(.*)//.*}{$1\n}; #去掉注释//
		$line =~ s{//.*}{\n}; #去掉以//开头的注释
		$line =~ s/(.*)(\/\*.*\*\/)(.*)/$1 $3\n/; #用空格替换 /* */
		next if $line =~ /^\s*$/; #去掉空白行
		#去掉方法注释
		$isCom = 1 if $line =~ /\S*\/\*/;
		$isCom = 0 if $line =~ /\S*\*\//;
		next if $isCom | $line =~ /\S*\*\//;
		$count++;
	}
}
print "Total lines:$count";

 同事要把java代码抽取出来,并且把注释和空行去掉于是写了一个perl的代码。心想那不再改成一个统计代码行数的程序。于是这段代码就产生了。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值