diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2021-01-12 00:43:55 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-01-12 00:43:55 +0000 |
| commit | 0b1cbfe857930c6139a8f9a5bd3a4a2efd5c6042 (patch) | |
| tree | b7a5d781142924130f0bd51d19a68270663f5dd0 | |
| parent | d0159f72183e999f88e468ee3ffa0651628b00ee (diff) | |
| parent | 92f36ebe63ccb5997a54115aa3fcbc822e838bbd (diff) | |
| download | perlweeklychallenge-club-0b1cbfe857930c6139a8f9a5bd3a4a2efd5c6042.tar.gz perlweeklychallenge-club-0b1cbfe857930c6139a8f9a5bd3a4a2efd5c6042.tar.bz2 perlweeklychallenge-club-0b1cbfe857930c6139a8f9a5bd3a4a2efd5c6042.zip | |
Merge pull request #3221 from PerlBoy1967/branch-for-challenge-095
Task 1 & 2
| -rwxr-xr-x | challenge-095/perlboy1967/perl/ch-1.pl | 23 | ||||
| -rwxr-xr-x | challenge-095/perlboy1967/perl/ch-2.pl | 72 |
2 files changed, 95 insertions, 0 deletions
diff --git a/challenge-095/perlboy1967/perl/ch-1.pl b/challenge-095/perlboy1967/perl/ch-1.pl new file mode 100755 index 0000000000..db625358c0 --- /dev/null +++ b/challenge-095/perlboy1967/perl/ch-1.pl @@ -0,0 +1,23 @@ +#!/usr/bin/perl + +# Perl Weekly Challenge - 095 +# - https://perlweeklychallenge.org/blog/perl-weekly-challenge-095/ +# +# Task 1 - Palindrome Number +# +# Author: Niels 'PerlBoy' van Dijke + +use v5.16; +use strict; +use warnings; + +# Unbuffered STDOUT +$|++; + +my $A = shift(@ARGV) // 1221; +my $B = reverse scalar $A; +my $C = ($A eq $B); + +printf "Input: %d\n", $A; +printf "Output: %d%s\n", + $C,($C ? '' : ", since $A and $B are not the same"); diff --git a/challenge-095/perlboy1967/perl/ch-2.pl b/challenge-095/perlboy1967/perl/ch-2.pl new file mode 100755 index 0000000000..49ece51f5c --- /dev/null +++ b/challenge-095/perlboy1967/perl/ch-2.pl @@ -0,0 +1,72 @@ +#!/usr/bin/perl + +# Perl Weekly Challenge - 095 +# - https://perlweeklychallenge.org/blog/perl-weekly-challenge-095/ +# +# Task 1 - Palindrome Number +# +# Author: Niels 'PerlBoy' van Dijke + +use v5.16; +use strict; +use warnings; + +use Data::Printer; + +# Unbuffered STDOUT +$|++; + + +my $stack = Stack->new; +$stack->push(2); +$stack->push(-1); +$stack->push(0); +$stack->pop; # removes 0 +printf "top: %d\n", $stack->top; # prints -1 +p $stack; + +$stack->push(0); +printf "min: %d\n", $stack->min; # prints -1 +printf "max: %d\n", $stack->max; # prints 2 +p $stack; + + +package Stack; + +use List::Util; + +sub new { + my ($class) = @_; + + bless [], $class; +} + +sub push { + my ($this, $value) = @_; + + CORE::push(@$this, $value); +} + +sub pop { + my ($this) = @_; + + CORE::pop(@$this); +} + +sub top { + my ($this) = @_; + + return $this->[-1]; +} + +sub min { + my ($this) = @_; + + return List::Util::min(@$this); +} + +sub max { + my ($this) = @_; + + return List::Util::max(@$this); +} |
