aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-002/bob-kleemann/perl5/ch-1.sh1
-rw-r--r--challenge-002/bob-kleemann/perl5/ch-2.pl16
2 files changed, 17 insertions, 0 deletions
diff --git a/challenge-002/bob-kleemann/perl5/ch-1.sh b/challenge-002/bob-kleemann/perl5/ch-1.sh
new file mode 100644
index 0000000000..461df04b26
--- /dev/null
+++ b/challenge-002/bob-kleemann/perl5/ch-1.sh
@@ -0,0 +1 @@
+perl -pE 's/^\+?0*(?=\d+)//'
diff --git a/challenge-002/bob-kleemann/perl5/ch-2.pl b/challenge-002/bob-kleemann/perl5/ch-2.pl
new file mode 100644
index 0000000000..fe45855195
--- /dev/null
+++ b/challenge-002/bob-kleemann/perl5/ch-2.pl
@@ -0,0 +1,16 @@
+#! /usr/bin/env perl
+
+use v5.18.0;
+use warnings;
+
+my $base = 0;
+my %digits = map { $_ => $base++ } "0" .. "9", "a" .. "y";
+my $base_chars = join( "" => keys(%digits) );
+
+while (<>) {
+ s/^[^$base_chars]*//i; # Remove leading junk
+ ($_) = split /[^$base_chars]/i; # Remove trailing junk
+ my $n = 0;
+ $n = $base * $n + $digits{ lc() } foreach split //;
+ say "base$base(", $_, ') == ', $n;
+}