2016-11-20 103 views
-1

我是Perl新手,试图找出脚本的问题。perl提取和解析

2.我可以通过命令行接受多个XML一个接一个的更改吗?

3.如何将函数的o/p指向文本文件?

4.如何将函数的o/p指向其他函数作为参数?

+1

我建议恢复的问题,因为它一直是,至少大部分。你所做的事情的例子使事情变得清晰起来,它形成良好并且对其他人来说通常是有用的。没有任何代码的东西没有任何意义。首先,它使两个答案无效。 – zdim

回答

1

首先,您的模块文件,package声明和use声明都应拼写相同,并且都应以大写字母开头。它看起来像你的模块文件应该被称为NVD.pm

  1. 您已经声明@vuln,不%vuln

  2. 您可以添加值的哈希通过编写此

    my %vuln; 
    
    for (@ARGV) { 
        %vuln = (%vuln, NVD::extract($_)); 
    } 
    

    这会汇总命令行上提到的所有文件的结果

  3. 这取决于你想要的。 extract的结果是散列结构,因此您需要以某种方式格式化数据。一般来说,你可以写

    open my $fh, '>', 'output.txt' or die $!; 
    
    print ... extracting data from `%vuln` as required 
    
    close $fh; 
    
  4. 通过编写简单

    other_function(NVD::extract($_)) 
    

    或可能

    my %vuln = NVD::extract($_); 
    other_function(%vuln);