From 7ff3cc85683b1ac53966648703f9825b86d21daf Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Tue, 2 Apr 2019 17:26:58 +0100 Subject: - Added solutions by Bob Kleemann. --- challenge-002/bob-kleemann/perl5/ch-1.sh | 1 + challenge-002/bob-kleemann/perl5/ch-2.pl | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 challenge-002/bob-kleemann/perl5/ch-1.sh create mode 100644 challenge-002/bob-kleemann/perl5/ch-2.pl 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; +} -- cgit