aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordrbaggy <js5@sanger.ac.uk>2022-10-03 13:40:18 +0100
committerdrbaggy <js5@sanger.ac.uk>2022-10-03 13:40:18 +0100
commitc2fd7944c7c124bc5f6eee823d88e0e5d4cce8e2 (patch)
tree4b2a091ac81532f5040ad318ee58861a1fd6e866
parente23f39fb80db32b6e802106e4b5d3421e15fb308 (diff)
downloadperlweeklychallenge-club-c2fd7944c7c124bc5f6eee823d88e0e5d4cce8e2.tar.gz
perlweeklychallenge-club-c2fd7944c7c124bc5f6eee823d88e0e5d4cce8e2.tar.bz2
perlweeklychallenge-club-c2fd7944c7c124bc5f6eee823d88e0e5d4cce8e2.zip
first pass
-rw-r--r--challenge-185/james-smith/perl/ch-1.pl22
-rw-r--r--challenge-185/james-smith/perl/ch-2.pl24
2 files changed, 46 insertions, 0 deletions
diff --git a/challenge-185/james-smith/perl/ch-1.pl b/challenge-185/james-smith/perl/ch-1.pl
new file mode 100644
index 0000000000..2348c8b946
--- /dev/null
+++ b/challenge-185/james-smith/perl/ch-1.pl
@@ -0,0 +1,22 @@
+#!/usr/local/bin/perl
+
+use strict;
+
+use warnings;
+use feature qw(say);
+use Test::More;
+use Benchmark qw(cmpthese timethis);
+use Data::Dumper qw(Dumper);
+
+my @TESTS = (
+ [ 0, 1 ],
+);
+
+is( my_function($_->[0]), $_->[1] ) foreach @TESTS;
+
+done_testing();
+
+sub my_function {
+ return 1;
+}
+
diff --git a/challenge-185/james-smith/perl/ch-2.pl b/challenge-185/james-smith/perl/ch-2.pl
new file mode 100644
index 0000000000..b1276e6550
--- /dev/null
+++ b/challenge-185/james-smith/perl/ch-2.pl
@@ -0,0 +1,24 @@
+#!/usr/local/bin/perl
+
+use strict;
+
+use warnings;
+use feature qw(say);
+use Test::More;
+use Benchmark qw(cmpthese timethis);
+use Data::Dumper qw(Dumper);
+
+my $RE = '^'. '([^0-9a-z]*)([0-9a-z])' x 4; ## Create regex on fly;
+
+my @TESTS = (
+ [ ['ab-cde-123', '123.abc.420', '3abc-0010.xy'], ['xx-xxe-123', 'xxx.xbc.420', 'xxxx-0010.xy'] ],
+ [ ['1234567.a', 'a-1234-bc', 'a.b.c.d.e.f' ], [ 'xxxx567.a', 'x-xxx4-bc', 'x.x.x.x.e.f' ] ],
+);
+
+is( "@{[ my_function(@{$_->[0]}) ]}", "@{$_->[1]}" ) for @TESTS;
+
+done_testing();
+
+
+sub my_function { map { s{$RE}{$1x$3x$5x$7x}or } @_; }
+