2009-07-31 59 views
-1

什麼是一些好的Perl模塊來處理基於配置的文件?什麼是一些很好的用於基於流的文件編程的Perl模塊?

基本上我正在研究數據文件,將它們拆分成列,根據某些列刪除一些行,刪除不必要的列,將它們與基線進行比較(寫入發生更改的位置)並保存csv數據和評論爲元數據。

示例文件是:

001SMSL24936 
002XXXXX20090320102436    010000337 00051  
002XXXXX20090320103525    010000333 00090  
002XXXXX20090320103525    010000333 00090  
002XXXXX20090320103525    010000333 00090  
002XXXXX20090320103525    010000333 00090  
002XXXXX20090320103525    020000333 00090  
009000000009000000000271422122 

它將被排與另一個文件(基線) 和一些不同的行會被高亮(我使用Tk::DiffText)比較在行。

這裏是管道其中[is a pipe]

文件 - > [分裂] - > [刪除產品] - > [分頁] - > [比較] - > {用戶跳躍和寫入意見,根據需要編輯文件} - > [保存CSV] - > [保存評論]

真正的問題是什麼的Perl模塊可以幫助建模和作出這樣的流水線流程? 經過更多的研究,我發現這http://en.wikipedia.org/wiki/Flow-based_programming

+0

什麼樣的數據文件? – 2009-07-31 14:06:42

+1

您應該調整您的問題以顯示數據文件的完整示例,您期望的輸入以及所需的輸出。不要通過評論添加到問題:使問題更好:) – 2009-07-31 17:51:43

回答

1

嗯,看來這沒有什麼Perl可以不處理幾乎本身:

以數據文件

while (<>) 

它們拆分成多列,

my @row = split(/,/); 

刪除基於一些列的一些行,

next if @row[5] =~ m/black_list_data/; 

刪除不必要的列

@row = ($row[1], $row[4]); 

刪除不必要的列

@row = ($row[1], $row[4]); 

他們比較基準(寫到這裏的變化已發生)

好了,在這裏你可以使用Algorithm::Diff

和保存csv的數據和評論作爲元數據。

Class::CSVDBD::CSV

0

我不知道基於流的任何編程Perl的實現,但我相信Perl的5.8已經提供給Perl編程人員解釋線程(有人糾正我,如果我錯了!),所以它在Perl上構建FBP實現應該相對簡單。見http://perldoc.perl.org/threads.html

相關問題