diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2021-09-25 22:32:00 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-09-25 22:32:00 +0100 |
| commit | 7ff4cc676463bf20f3339ca46a19e2804e35ca62 (patch) | |
| tree | 80786a4d022fa4cd54ab45e9f6d3ec1427558ddb /challenge-131/arne-sommer/perl/coar-perl | |
| parent | 45e00f146e9e05761babf3d140600df918b976d5 (diff) | |
| parent | f239fe6bd297ab1822019cc046edaf13cdea0f4a (diff) | |
| download | perlweeklychallenge-club-7ff4cc676463bf20f3339ca46a19e2804e35ca62.tar.gz perlweeklychallenge-club-7ff4cc676463bf20f3339ca46a19e2804e35ca62.tar.bz2 perlweeklychallenge-club-7ff4cc676463bf20f3339ca46a19e2804e35ca62.zip | |
Merge pull request #4922 from arnesom/branch-for-challenge-131
Arne Sommer
Diffstat (limited to 'challenge-131/arne-sommer/perl/coar-perl')
| -rwxr-xr-x | challenge-131/arne-sommer/perl/coar-perl | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/challenge-131/arne-sommer/perl/coar-perl b/challenge-131/arne-sommer/perl/coar-perl new file mode 100755 index 0000000000..fdd84bae37 --- /dev/null +++ b/challenge-131/arne-sommer/perl/coar-perl @@ -0,0 +1,44 @@ +#! /usr/bin/env perl + +use strict; +use warnings; +use feature 'say'; + +use Getopt::Long; +use Perl6::Junction 'all'; + +my $verbose = 0; + +GetOptions("verbose" => \$verbose); + +die "Integers only" unless all(@ARGV) == qr/^\d+$/; + +my @result; + +my $current = shift(@ARGV) // die "No numbers"; +my @current = ($current); + +say ": Candidate: $current" if $verbose; + +for my $i (@ARGV) +{ + if ($i > $current +1) + { + my @copy = @current; + push(@result, \@copy); + say ": Push: [", join(",", @current), "]" if $verbose; + @current = (); + } + + die "Not sorted ($current < $i)" unless $i > $current; + + say ": Candidate: $i" if $verbose; + + push(@current, $i); + $current = $i; +} + +push(@result, \@current) if @current; + +say "(", join(", ", map { "[" . join(", ", @$_) . "]" } @result), ")"; + |
