aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2019-04-02 17:45:36 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2019-04-02 17:45:36 +0100
commitc8edb9612b44910fa26c19e11f3f845e47691d84 (patch)
tree31f6c56890c16ec1f2425ab101c28aeaae43feae
parent7ff3cc85683b1ac53966648703f9825b86d21daf (diff)
downloadperlweeklychallenge-club-c8edb9612b44910fa26c19e11f3f845e47691d84.tar.gz
perlweeklychallenge-club-c8edb9612b44910fa26c19e11f3f845e47691d84.tar.bz2
perlweeklychallenge-club-c8edb9612b44910fa26c19e11f3f845e47691d84.zip
- Added solutions by Simon Proctor.
-rw-r--r--challenge-002/simon-proctor/perl5/ch-1.sh1
-rw-r--r--challenge-002/simon-proctor/perl5/ch-2.pl16
-rw-r--r--challenge-002/simon-proctor/perl5/to-base-35.pl18
3 files changed, 35 insertions, 0 deletions
diff --git a/challenge-002/simon-proctor/perl5/ch-1.sh b/challenge-002/simon-proctor/perl5/ch-1.sh
new file mode 100644
index 0000000000..6055088ce0
--- /dev/null
+++ b/challenge-002/simon-proctor/perl5/ch-1.sh
@@ -0,0 +1 @@
+perl -E 'my $v = shift @ARGV;$v =~ s!^0+!!;say $v'
diff --git a/challenge-002/simon-proctor/perl5/ch-2.pl b/challenge-002/simon-proctor/perl5/ch-2.pl
new file mode 100644
index 0000000000..7354af499c
--- /dev/null
+++ b/challenge-002/simon-proctor/perl5/ch-2.pl
@@ -0,0 +1,16 @@
+use strict;
+use v5.10;
+
+my @in = split "", ( shift @ARGV );
+my $out = 0;
+
+my $c = 0;
+my %map = map { $_ => $c++ } (0..9,"A".."Y");
+
+my $mult = 1;
+for my $char ( reverse @in ) {
+ $out += ( $mult * $map{$char} );
+ $mult *= 35;
+}
+
+say $out;
diff --git a/challenge-002/simon-proctor/perl5/to-base-35.pl b/challenge-002/simon-proctor/perl5/to-base-35.pl
new file mode 100644
index 0000000000..4bee1b597d
--- /dev/null
+++ b/challenge-002/simon-proctor/perl5/to-base-35.pl
@@ -0,0 +1,18 @@
+use strict;
+use v5.10;
+
+my $in = shift @ARGV;
+my @out = ();
+
+my $c = 0;
+my %map = map { $c++ => $_ } (0..9,"A".."Y");
+
+while ( $in ) {
+ my $rem = $in % 35;
+ push @out, $map{$rem};
+ $in = $in - $rem;
+ $in = $in / 35;
+}
+
+say join( "", reverse @out );
+