我是Perl的新手并试图找出脚本的问题。
2.我可以通过命令行逐个接受多个XML进行哪些更改?
3.如何将函数的o / p指向文本文件?
4.如何将函数的o / p指向i / p作为参数的其他函数?
答案 0 :(得分:1)
首先,您的模块文件,package
语句和use
语句都应该拼写相同,并且都应以大写字母开头。看起来您的模块文件应该被称为NVD.pm
您已声明@vuln
,而不是%vuln
您可以通过编写
将值添加到哈希值my %vuln;
for ( @ARGV ) {
%vuln = ( %vuln, NVD::extract($_) );
}
这将聚合命令行中提到的所有文件的结果
这取决于你想要什么。 extract
的结果是哈希结构,因此您需要以某种方式格式化数据。一般来说,你可以写
open my $fh, '>', 'output.txt' or die $!;
print ... extracting data from `%vuln` as required
close $fh;
简单地写
other_function(NVD::extract($_))
或可能
my %vuln = NVD::extract($_);
other_function(%vuln);