diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-08-15 00:01:52 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-08-15 00:01:52 +0100 |
| commit | 34f2cfddb2425c2c444ee69a121139127c219ece (patch) | |
| tree | ff6928d1532e655d5ae732b17b0ba67fd99342fe /challenge-073/arne-sommer/perl/ch-1.pl | |
| parent | 5630d4ba0b2fdd9762cbceb0f276811a5e4f469f (diff) | |
| download | perlweeklychallenge-club-34f2cfddb2425c2c444ee69a121139127c219ece.tar.gz perlweeklychallenge-club-34f2cfddb2425c2c444ee69a121139127c219ece.tar.bz2 perlweeklychallenge-club-34f2cfddb2425c2c444ee69a121139127c219ece.zip | |
- Added solutions by Arne Sommer.
Diffstat (limited to 'challenge-073/arne-sommer/perl/ch-1.pl')
| -rwxr-xr-x | challenge-073/arne-sommer/perl/ch-1.pl | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/challenge-073/arne-sommer/perl/ch-1.pl b/challenge-073/arne-sommer/perl/ch-1.pl new file mode 100755 index 0000000000..9e43f35bb2 --- /dev/null +++ b/challenge-073/arne-sommer/perl/ch-1.pl @@ -0,0 +1,25 @@ +#! /usr/bin/env perl + +use strict; +use feature 'say'; +use Getopt::Long; +use List::Util 'min'; +use Perl6::Junction 'all'; + +my $verbose = 0; + +GetOptions("verbose" => \$verbose); + +die 'Specify $S and @A' unless @ARGV; + +my ($S, @A) = @ARGV; + +die '$S must be an integer >= 1' unless int($S) == $S && $S >= 1; +die '@A must contain integers only' unless all(@A) == qr/^\d+$/; + +map { say ": (" . join(", ", @A[$_ .. $_ + $S -1]) . ") min -> " . min @A[$_ .. $_ + $S -1] } +(0 .. @A - $S) if $verbose; + +say "(", + join (", ", map { min @A[$_ .. $_ + $S -1] } (0 .. @A - $S)), + ")"; |
