修改之后,优化和 消除重复 都完成的 最好的 哈哈

来源:互联网 发布:道道通端口查看 编辑:程序博客网 时间:2024/06/03 12:55
$fpath="/usr/redhat/perl-study/work/testfile_bak";
$pgname="python-numeric";
$Gname=" DESKTOP GROUP ";

@listNo=&bugNo($fpath, $pgname, $Gname);
print "@listNo/n";


###########################################
sub bugNo
{

$filepath=$_[0];
$packagename=$_[1];
$groupname=$_[2];

open(MYFILE,$filepath);
@test1=<MYFILE>;
$num=@test1;
%result=();

$A="";
$B="";
$flag="0";
$packageflag="0";


for($n=0;$n<$num;$n++)
{
    $item=$test1[$n];
    chop $item;

    if($item=~//*+([a-zA-Z0-9 ]+)/*/)
    {

        if($1 eq "$groupname")
        {
            $flag="1";
        }
        else
        {
            $flag="0";
        }
    }

    if($flag eq "1")
    {
        if ($item =~ /^< ([a-zA-Z.]+[a-zA-Z0-9-]+[a-zA-Z]+/d?)/)
        {
            if($1 eq "$packagename")
            {
                $packageflag="1";
            }
            else
            {
                $packageflag="0";
            }
        }

        if($packageflag eq "1")
        {
            $pos=index($item,"GNOME bug #");
            $bugstr1="";
            $bugstr2="";
            $bugstr3="";

            if($pos == 0)
            {
                $str1=substr($item,0,17);
                $str2=substr($item,17);
                $bugstr1=$str2;
            }
            else
            {
                if($pos>0)
                {
                    $str1=substr($item,0,$pos);
                    $str2=substr($item,$pos,17);
                    $str3=substr($item,$pos+17);
                    $bugstr1=$str1;
                    $bugstr2=$str3;
                }
                else
                {
                    $bugstr1=$item;
                }
            }

            $itemnew="$bugstr1 $bugstr2";
            print "new line : $itemnew/n";
            while($itemnew=~/(#[a-zA-Z0-9]+)/g)
            {
                $result{$&}=1;
            }
        }
               
    }
   
}



keys(%result);

}
 
原创粉丝点击