如何在Perl中的选定字段上执行算术运算

时间:2012-07-17 14:11:02

标签: perl

我正处于学习Perl的基本阶段,并且有一项任务要执行。我需要从文件中其他字段中的其他数字中减去字段中的数字,并将差异放在我减去的数字中。我可以将其描述如下

03,12682559,USD,010,11398,,,015,11398,,,030,11398,,,
16,698,416667,V,110729,,1354409,2011060411/
88,XX:XXXX XXX
88,TE:56745745
88,VBDS:4564574
16,195,416667,V,110729,,3134046323,SD06546700S1DA01/
88,ED:BMG RECD
88,ED:2097675
88,DRGF:D5674D6756
88,CV:O/O XXXXX XXXX XXX XX
88,AB:XXXX
88,BO:ABCL VSSFRDE SERV WESF 12700 Wdftgs 
88,OA:USD416667
88,BO:5676476 BO1:gfhdghj fhfjhjdd SERV TKDF 
49,2151723,15/
98,2151723,3,21/

首先,我需要在第一行搜索帐号,在这种情况下是 12682559 (我必须只为此帐户执行操作),从 03开始

接下来,我需要从 88 一行开始 416667 ,该文件中的 88,OA:USD416667

这个数字将从开始 49 98 的两行中的值中减去,并且在不打扰这些行的其他元素的情况下替换差异。

1 个答案:

答案 0 :(得分:3)

我假设您要从文件中获取数据,在这种情况下,您需要了解Perl如何执行IO:

perldoc -f io

您可以自己解析这些行,也可以使用Text::CSV

等模块

解析完成后,您可以执行所需的任何操作,并将数据写回文件等。

由于您已经开始使用,可以考虑阅读这里的one book

您可能还需要一些时间here