- 论坛徽章:
- 42
|
本帖最后由 laputa73 于 2018-05-17 11:43 编辑
大概齐是这个意思
- #!/bin/env/perl
- my @A=([10000,25000,0],[35000,40000,0]);
- my $a=shift @A;
- my $match=0;
- while (<DATA>){
- my @b= split /,/,$_;
- if (($b[1] >= $a->[0]) && ($b[1] <= $a->[1])){
- $a->[2]+=$b[2];
- print "$a->[0],$a->[1],$a->[2]\n";
- $match=1;
- }
- elsif($match !=0){
- $a=shift @A;
- $match=0;
- }
-
- }
- __DATA__
- 'xx',9000,1
- 'xx',10001,111
- 'xx',10002,222
- 'xx',15000,333
- 'xx',30000,444
- 'xx',32000,444
- 'xx',33000,444
- 'xx',36001,555
- 'xx',46001,555
- #10000,25000,111
- #10000,25000,333
- #10000,25000,666
- #35000,40000,555
复制代码 |
|