perl实例:简单的代码规范化实例
? ? 在学习计算机语言的时候,经常要阅读大量代码,或从网上copy一些代码来学习,但往往copy过来的代码总是不是很规范,要么找不到括号匹配,要么没有统一的换行,空格,使代码难以阅读,刚好正在学习的perl语言强大的文本处理功能,突发灵感,何不如自己动手写一个简单的代码规范实例,来将不规范的代码规范化,闲言少叙,进入正题! 实例名称:代码规范化 实例目的:将不规范化的代码规范化,便于阅读 实例思路:从网上获得的代码往往存在以下几个问题: 空格不统一,换行时,有的空格多,有的空格少; 句首空格总是或多或少 括号不知何时匹配,找到左括号,找不到有括号 针对以上常见问题,我们构建一个简单的代码规范化过程,使其便于阅读,具体步骤如下: 1、初始化花括号{个数为0;打开新建文件,用于写入处理后的代码;打开不规范代码文件 2、读取逐行不规范的代码 3、将该行所有一个以上的空白字符统一为一个空白字符 4、去掉行首及行尾空白字符 5、遇到{,先写入该行,再花括号个数加一 6、遇到},先写入该行,再花括号个数减一 7、写入其他行 8、写入子例程定义:每次写入,都在该行行首加入花括号{个数 * 回车想要的空格数 use 5.010; say "Beginning……………………"; $file="you";#放入所要规范化文件的绝对或相对地址 $grace=0;#记录花括号的个数 open (FH,$file) or die "can not open $!"; open (DH,">new.txt") or die "can not open $!";#创建规范化之后的文件 while($line=<FH>){ $line =~ s/^s+//;#去掉行首空白字符 $line =~ s/s+$//;#去掉行尾空白字符 $line =~ s/ +/ /g;#将所有空白规范到一个空白字符 if($line =~m{){#匹配左花括号 $line=' 'x ($grace).$line; say DH $line; $grace++; }elsif($line =~m}){#匹配右花括号 $line=' 'x ($grace).$line; say DH $line; $grace--; }else{ $line=' 'x ($grace).$line; say DH $line; } } close FH; close DH; say "OK! Please press anykey,continue………………"; <STDIN>; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |