2012-07-17 28 views
-3

我正处于学习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/ 

首先,我需要搜索该账号在这种情况下是(我必须为这个帐号进行操作)在第一行,开始。

接下来,我需要开始它看起来像88,OA从行取数:USD416667的文件中。

这个数字是要被从值在开始和和不干扰这些线的其它元件替换的差两行中减去。

+0

第一个数字可能不是行数,但描述存储在该行中的数据类型(如果我正确地看到)。 – simbabque 2012-07-17 14:44:03

+1

你并没有真正学习Perl:你承担了一项超出你能力的工作,而你现在希望别人为你付钱。这并不意味着没有人会回答你的问题。但是,你至少应该花点功夫,至少格式化和编写你的问题。 – 2012-07-17 14:47:14

回答

3

我假设你希望得到从文件中的数据,在这种情况下,你会想在Perl中如何做IO读了起来:

perldoc -f io 

您可以自己分析这些行,或者你可以使用这种模块Text::CSV

一旦你的作品分析,你可以做任何你需要的操作和数据写回到文件等

既然你入门,这里是one book你可能会考虑rea丁。

您可能还会花一些时间here

+0

我似乎没有使用perl版本的IO文档。因为这需要一些预先编码,请您帮我解决第一条线,以便我可以再挖掘 - 再次感谢 – user1411254 2012-07-17 14:37:42

+1

文档也在线。请参阅:http://perldoc.perl.org/index.html,并打开这个文件:http://perldoc.perl.org/functions/open.html – 2012-07-17 14:39:59

+2

@Craig:通常最好'使用文本: :CSV',它将挑选最好的后端 - 无论是XS还是纯Perl。 – Borodin 2012-07-17 15:02:34