根据配置处理文件有哪些优秀的Perl模块?
基本上我正在处理数据文件,将它们拆分成列,根据某些列删除一些行,删除不必要的列,将它们与基线进行比较(写入发生更改的位置)并保存数据的csv和注释作为元数据。
示例文件是:
001SMSL22009032020090321024936
002XXXXX20090320102436 010000337 00051
002XXXXX20090320103525 010000333 00090
002XXXXX20090320103525 010000333 00090
002XXXXX20090320103525 010000333 00090
002XXXXX20090320103525 010000333 00090
002XXXXX20090320103525 020000333 00090
009000000009000000000271422122
它将逐行与另一个文件(基线)进行比较
并突出显示一些不同的行(我使用Tk::DiffText
)。
以下是[is a pipe]
file - > [拆分] - > [删除生产] - > [sort] - > [比较] - > {用户跳入并撰写评论,根据需要编辑文件} - > [保存csv] - > [保存评论]
真正的问题是perl模块有助于建模和制作这样的管道流程吗? 经过更多的研究,我发现了http://en.wikipedia.org/wiki/Flow-based_programming。
答案 0 :(得分:1)
获取数据文件
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保存为元数据。
答案 1 :(得分:1)
看看Sprog。它是用Perl编写的可视化编程引擎(使用Gtk2)。您可以通过拖放“齿轮”来创建Perl程序。您也可以添加自己的齿轮(当然是用Perl编写的)。
答案 2 :(得分:0)
我不知道任何基于流程编程的Perl实现,但我相信Perl 5.8已经为Perl编码器提供了解释器线程(如果我错了,有人会纠正我!),所以构建它应该相对简单Perl上的FBP实现。见http://perldoc.perl.org/threads.html
答案 3 :(得分:0)