aboutsummaryrefslogtreecommitdiff
path: root/challenge-018
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2019-07-27 13:48:08 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2019-07-27 13:48:08 +0100
commitfd3b7ecba8e74a27bde5fd2d7d3c319bc429241f (patch)
tree1cb2f56d7701e355959b718e9e96775f495333a7 /challenge-018
parentd36ac05a5657658cf651024ac91f3d707ec0e41f (diff)
downloadperlweeklychallenge-club-fd3b7ecba8e74a27bde5fd2d7d3c319bc429241f.tar.gz
perlweeklychallenge-club-fd3b7ecba8e74a27bde5fd2d7d3c319bc429241f.tar.bz2
perlweeklychallenge-club-fd3b7ecba8e74a27bde5fd2d7d3c319bc429241f.zip
- Added solutions by Mark Anderson.
Diffstat (limited to 'challenge-018')
-rw-r--r--challenge-018/mark-anderson/README1
-rw-r--r--challenge-018/mark-anderson/perl5/ch-1.pl20
2 files changed, 21 insertions, 0 deletions
diff --git a/challenge-018/mark-anderson/README b/challenge-018/mark-anderson/README
new file mode 100644
index 0000000000..544858a104
--- /dev/null
+++ b/challenge-018/mark-anderson/README
@@ -0,0 +1 @@
+Solutions by Mark Anderson.
diff --git a/challenge-018/mark-anderson/perl5/ch-1.pl b/challenge-018/mark-anderson/perl5/ch-1.pl
new file mode 100644
index 0000000000..8eac48c266
--- /dev/null
+++ b/challenge-018/mark-anderson/perl5/ch-1.pl
@@ -0,0 +1,20 @@
+#!/usr/bin/env perl
+
+use Modern::Perl '2018';
+use List::Util 'all';
+
+# Find the longest common substring.
+
+my @strings = @ARGV;
+my $pattern = pop @strings;
+my $longest;
+
+OUTER:
+for(my $w=length $pattern; $w>0; $w--) {
+ for(my $i=0; $i<=(length $pattern)-$w; $i++) {
+ $longest = substr $pattern, $i, $w;
+ last OUTER if all { /$longest/ } @strings;
+ }
+}
+
+say $longest;