一个简单的perl程序

前端之家收集整理的这篇文章主要介绍了一个简单的perl程序前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

    下面展示一个简单的perl程序,功能是根据参数列表中提供的一个或多个文件名,以每一行为一个单位逐一读取作为路径,如果该路径是一个可执行文件,可以由此找出其所依赖的共享库,并且生成到一个汇总列表中。这样的功能可以作为应用程序打包功能(主要是处理依赖关系)的一部分。

while (<>)                  //神奇的钻石操作符,读取参数列表中的所有文件内容

{

chomp;

if (-d $_)              //对于目录,存入目录列表中

{

$dir_set{$_} =0;

}

else

{

$path_set{$_} =0;

&relate($_)if -x -B $_ and (not -l $_);         //对于可执行文件,遍历依赖关系

}

}


foreach (sort keys %path_set)

{

print"$_\n";

}


foreach (sort keys %dir_set)

{

print"$_/\n";

}


sub relate

{

foreach (`readelf -d $_[0]`)                        //读取可执行文件所依赖的共享库

{

if ((/Shared library: \[(.*)\]/)and (not exists $find_flag{$1}))

{

$find_flag{$1} =0 ;

foreach (`find / -name $1`)                 //查找共享库所在的路径

{

chomp;

relate($_);

$path_set{$_} =0;

}

}

}

}

猜你在找的Perl相关文章