前言
有的时候有这些需求:
1. 统计一个文件的行数
2. 统计一个源代码的有效行数。排除空行和注释行
3. 统一一个目录下各种文件的数量和行数
要达成这些需求,很多语言多可以做到, 但是使用Perl 应该是一个不错的选择
读取文件行数
读取一个文件的总行数(空行和注释都包含) 使用Perl 很简单
open(FILE ,<>); my $lines_counter = 0; while(<>) { $lines_counter += 1; } print "lines: $lines_counter\n";
当然,如果在linux 下就更简单了, 只需要敲入以下命令就可以了:
wc -l filename
源码代码行数(空格数)
统计一个源码文件的代码行数:传入参数: 文件的路径返回: 三个元素的数组; 分别是总行数, 空行行数 和注释行数注意: 这段代码目前基本使用于 Java, C, C++; 因为这里注释部分处理的是以下三种:
1. // 行注释
2. 块注释
/*
*
*/
3.文件注释
/**
*
*/
完整代码:
源代码行数统计工具 (Perl 版本)
1. Code Line Counter
这个是一个收费的软件,
也有免费版,但有限制, 一次只能统计 10 份文件。
下载地址:
http://codelinecounter.bistonesoft.com/clcperl.htm
下载之后进行安装
运行之后的界面如下:
2. CLOC
这个应该是使用的比较多的工具了。
它可以统计一个路径下各种类型文件的数量, 总的空格,代码,注释的数量。 它也可以统计一个压缩包里面的文件的状况
项目的介绍路径:
http://cloc.sourceforge.net/index.html#Basic_Use
下载路径是:
http://sourceforge.net/projects/cloc/files/cloc/v1.60/
这里提供 Perl 的源码以及打包后的exe 文件。
作为工具来说, 下载 .exe 文件。 目前最新版的文件名是 cloc-1.60.exe
使用方式就是在命令行模式上, 输入:
cloc-1.60.exe 文件路径或者压缩包名
输出的结果类似:
[Perl系列二-实战] 1. Perl 读取代码的行数