sub find_tc {
my $tc_casename = shift;
$tc_casename =~ s/\-/\_/g;
# $tc_casename = s/\-/\_/ $tc_casename;
my $dir_name = "test_package";
my $tc_dir = catfile("$Bin","$dir_name");
my @all_casename ;
find(
sub{
if (-f $File::Find::name) {
push @all_casename , "$File::Find::name";
}
},
$tc_dir
);
for my $casename (@all_casename){
open my $fh,"<",$casename or die "can not open file: $!";
while(<$fh>){
if (/sub\s+(.*?)\{/) {
my $untrimed = $1;
if ($untrimed =~ /$tc_casename/) {
$casename =~ s/(?:.*?)$dir_name\///;
$casename =~ s/.pm$//;
$casename =~ s/\//\:\:/;
return $casename;
}
}
}
}
}
后面是查找pm文件,然后将pm文件的名字替换为用::分割的字符串