- 論壇徽章:
- 8
|
- #! /usr/bin/perl -w
- my ($f1, $f2) = @ARGV;
- my $ref = {};
- open IN1,"< $f1" or die "$!";
- open IN2,"< $f2" or die "$!";
- map{chomp;my @arr = (split);$ref->{$arr[0]}->{$arr[1]}->{$arr[2]} = $.;}<IN1>;
- close IN1;
- while (<IN2>) {
- chomp;
- my @arr = (split);
- next unless (defined($ref->{$arr[0]}));
- my $result = &do($arr[0], $arr[1]);
- print "@arr\n" if $result eq "pass";
- }
- close IN2;
- sub do(){
- my ($k, $p, $result) =@_;
- foreach my $start (sort {$a<=>$b} keys %{$ref->{$k}}) {
- foreach my $end (sort {$a<=>$b} keys %{$ref->{$k}->{$start}}) {
- $result = "fail" if ($p >=$start and $p <=$end);
- }
- }
- $result ||= "pass";
- return $result;
- }
復(fù)制代碼 這樣可以嗎? |
|