2016-11-20 109 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);