DB<154> @a0 = (-20,20,1,1,2,2,2,9,3,-4,-4,5,-20,20);
=> (-20, 20, 1, 1, 2, 2, 2, 9, 3, -4, -4, 5, -20, 20)
DB<155> @a1 = ( 10,11,7,9,3,3,3,1,3, 4, 5,5, 1,30);
=> (10, 11, 7, 9, 3, 3, 3, 1, 3, 4, 5, 5, 1, 30)
DB<156> map { push @{$group{$a0[$_]}},$a1[$_] } 0..$#a0
DB<157> sub highlander {
my @sort = sort @{ shift() } ;
return $sort[-1]>$sort[0] ? $sort[-1] : undef
}
DB<158> @high{keys %group } = map { highlander($_) } values %group
=> (undef, 5, undef, undef, 30, 9, 10, undef)
DB<159> map { ($a0[$_],$a1[$_])=() if $a1[$_] != $high{ $a0[$_] } }
+0..$#a0
DB<160> \@a0
=> [
-20,
undef,
undef,
1,
undef,
undef,
undef,
undef,
undef,
undef,
-4,
undef,
undef,
20,
]
DB<161> \@a1
=> [
10,
undef,
undef,
9,
undef,
undef,
undef,
undef,
undef,
undef,
5,
undef,
undef,
30,
]
Cheers Rolf
( addicted to the Perl Programming Language)
|