编辑test.pl
给test.pl行首加上纯销兆头 #!/usr/bin/perl
上做租面#!后面的斗中路径应该同which perl一致
chmod u+x test.pl
./test.pl
其实你可以直接perl test.pl执行,这样不需要设置chmod。
第宽雀雹一是,perl文件的第一行要指定perl解释器的位置,典型的如下#!/usr/bin/perl
第二是,perl文件的权限要有可执行的权限,可通过右键-岁顷>属性->权限,勾选来添加可执行权限(当然,你本身也应该有修改该文件权限的权限),也可以通过在命令行上执行chmod
+x
来添加执行权限慎帆。
函数大体如下。要写完美要自己加工。#! /
my %function_bash
my %function_begin = (
‘functionName’=>'',
'begin_row' =>'')
my %function_end = (
‘functionName’=>'',
'end_row' =>'')
our $kuohaosu=0
my $i=1
open $out,文件
while ($out) {
$i++
$function_bash[$i]=$_ 对文件进行哈希
if(!/^\#/) {确保不是用虚做迟#的注册信息
if(/$FunctionName/) 如果不是以#进行注释,并且存在要查找的函数名。这里忽略用/* */进行注释。
{
$function-begin[$FunctionName] = $i
}
if(/\{/) {
$kuohaoshu++ 如果查到第一个大括号,$kuohaoshu加1.
}
if(/\}/}) {
$kuohaosu-- 如果查到反大括号,$kuohaoshu减1.
}
if($kuohaosu==0) {
$function-end[$functionName]=$i
}
}
以上得到函数的起行数和结尾行数。
abc/*12324abcwfd*/efd在这里面a的位置确定方法?根据行号和列号,那么你差李对就加入的位置很明确,可以不用考虑注释,但如果a为一个函数,这时,我们可以通过正则在这个函数中查到函数所处的行,然后根据函数开始行到当前行之胡谈间查找"/*",如果存在,查到*/,如无,则当前位置为注释中,跳出,查到下一个。也可以用/*和*/出现的次数来确定。比如果出现三次/*,二次*/,v那么当前关键字所处位置是在注释中,如果/*次数等*/,所处位置可以插入数据。统计在函数中/* 和 */用index函数可以轻松完成。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)