求助

hanaka 2005-05-21 04:37:31
以下是我写的一个脚本,其中naslfiles.txt是一个文件名列表,依次读入每个nasl文件,每个nasl文件都有script_id,有的nasl文件里面有script_cve_id,有的没有,现在可以在屏幕上输出,如何写入到一个文件里面呢?


#!/usr/local/perl

$passfile="naslfiles.txt";

open(FILE, "$passfile");
@lines=<FILE>;
close(FILE);
foreach $line(@lines)
{
($value)=$line=~/(.*)/;
if($value)
{
$naslfiles=$value;
#print "$naslfiles\n";
open(PFILE, "$naslfiles");
@content=<PFILE>;
close(PFILE);
open(QFILE, ">naslvscve2.txt");
foreach $line(@content)
{
# script_id
($value)=$line=~/^\s*script_id\((\d+)/;
if($value)
{
$hash{"script_id"}=$value;
$script_id=$hash{"script_id"};
#print "$script_id\t";
}

# script_cve_id
($value)=$line=~/^\s*script_cve_id\((.*)\)/;
if($value)
{
$hash{"script_cve_id"}=$value;
$script_cve_id=$hash{"script_cve_id"};
print "$script_id\t$script_cve_id\n";
}
}
}
}
...全文
43 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hanaka 2005-05-22
  • 打赏
  • 举报
回复
是的,该如何写入文件呢?
fibbery 2005-05-22
  • 打赏
  • 举报
回复
最简单的办法就是重定向.
perl yourapp.pl >output.txt
或者将print改成写入文件句柄或者IO::File对象。
#!/usr/local/perl
use IO::File;
my $output=new IO::File("> output.txt");

$passfile="naslfiles.txt";

open(FILE, "$passfile");
@lines=<FILE>;
close(FILE);
foreach $line(@lines)
{
($value)=$line=~/(.*)/;
if($value)
{
$naslfiles=$value;
#print "$naslfiles\n";
open(PFILE, "$naslfiles");
@content=<PFILE>;
close(PFILE);
open(QFILE, ">naslvscve2.txt");
foreach $line(@content)
{
# script_id
($value)=$line=~/^\s*script_id\((\d+)/;
if($value)
{
$hash{"script_id"}=$value;
$script_id=$hash{"script_id"};
#print "$script_id\t";
}

# script_cve_id
($value)=$line=~/^\s*script_cve_id\((.*)\)/;
if($value)
{
$hash{"script_cve_id"}=$value;
$script_cve_id=$hash{"script_cve_id"};
$output->print "$script_id\t$script_cve_id\n";
}
}
}
}
fibbery 2005-05-21
  • 打赏
  • 举报
回复
把输出的内容写到文件里吗?

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧