aboutsummaryrefslogtreecommitdiff
path: root/challenge-078/dave-cross/perl/ch-1.pl
blob: c61d1b64550163f6cc7a8572f2050bcbbb306132 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/usr/bin/perl

use strict;
use warnings;
use feature 'say';

use List::Util 'all';

my @leaders = map  { $ARGV[$_] }
	      grep { is_leader($_, @ARGV) } 0 .. $#ARGV;

say '(', join(', ', @leaders), ')';

sub is_leader {
  my ($needle, @haystack) = @_;

  return 1 if $needle == $#haystack;

  return all { $haystack[$needle] > $_ } @haystack[$needle + 1 .. $#haystack];
}