- 论坛徽章:
- 1
|
请教方家:计算xml文件中某元素的总和及平均值
- /home/lee#cat ex.pl
- #!perl -w
- use strict;
- open FH,"<data.txt"or die ("Open error!");
- my @array;
- my $sum=0;
- while(<FH>;){
- if(/price/){
- $_=~s/<price>;|<\/price>;//g;
- push @array,$_;
- }
- }
- foreach my $value(@array){
- $sum+=$value;
- }
- print sprintf "%s%.2f\n","sum=",$sum;
- print sprintf "%s%.2f\n","avg=",$sum/($#array+1);
- close FH;
复制代码
result:/home/lee#perl ex.pl
sum=198.00
avg=66.00
PS:初学perl,请大家赐教 
如果用awk的话一句就解决了 
- awk -F'[<|>;]' '/price/{n++;sum+=$3}END{printf "%s%.2f\n%s%.2f\n","sum=",sum,"avg=",sum/n}' data.txt
复制代码 |
|