aboutsummaryrefslogtreecommitdiff
path: root/challenge-222/barroff/perl/ch-2.pl
blob: b97745fb116672a78749a887c0cc617171f815d0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/usr/bin/env perl

use v5.36;
use strict;
use warnings;

use List::Util qw( uniq );

sub matching_members (@numbers) {
    my @sorted_numbers = sort(@numbers);
    scalar grep( { $sorted_numbers[$_] == $numbers[$_] } 0 .. @numbers - 1 );
}

#| Run test cases
sub MAIN() {
    use Test2::V0 qw( is plan );
    plan 3;

    is matching_members( 1, 1, 4, 2, 1, 2 ), 3, 'works for (1, 1, 4, 2, 1, 2)';
    is matching_members( 5, 1, 2, 3, 4 ), 0, 'works for (5, 1, 2, 3, 4)';
    is matching_members( 1, 2, 3, 4, 5 ), 5, 'works for (1, 2, 3, 4, 5)';
}

MAIN();