- 论坛徽章:
- 307
|
- #!/usr/bin/perl
- use strict;
- use warnings;
- my $data = {};
- while(<DATA>){
- chomp;
- !length and last;
- $data->{$_} = [split(/x/)];
- }
- while(<DATA>){
- foreach my $k (keys %$data){
- my @aT = map {[split(/x/)]} split;
- next if($data->{$k}[0] < $aT[0][0]);
- my @aOut = map {join('x', @$_)} grep {$data->{$k}[0] <= $_->[0] and $data->{$k}[-1] >= $_->[-1]} @aT;
- if(@aOut){
- print(join("\t", $k, @aOut), "\n");
- }
- }
-
- }
- __DATA__
- 7x25
- 29x35
- 36x45
- 1x5 6 7 8 9x15 16 17x19 20 21x25
- 26 27 28 29 30x31 32x35
- 36x40 41 42 43 44 45
复制代码 |
|