aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Cross <d.cross@fairfx.com>2019-10-08 14:01:46 +0100
committerDave Cross <d.cross@fairfx.com>2019-10-08 14:01:46 +0100
commit7ecbfb1c3681b5ba5c2a0cb8b8fa67b058954df1 (patch)
tree28a97581750bd57232cbed8b91004cf3aadbf15a
parent3e58d49a42a3288e79d19b3176425b7ccc2bfb9d (diff)
downloadperlweeklychallenge-club-7ecbfb1c3681b5ba5c2a0cb8b8fa67b058954df1.tar.gz
perlweeklychallenge-club-7ecbfb1c3681b5ba5c2a0cb8b8fa67b058954df1.tar.bz2
perlweeklychallenge-club-7ecbfb1c3681b5ba5c2a0cb8b8fa67b058954df1.zip
Challenge #28 Task #1
-rw-r--r--challenge-029/dave-cross/perl5/ch-1.pl22
1 files changed, 22 insertions, 0 deletions
diff --git a/challenge-029/dave-cross/perl5/ch-1.pl b/challenge-029/dave-cross/perl5/ch-1.pl
new file mode 100644
index 0000000000..f7b741e1db
--- /dev/null
+++ b/challenge-029/dave-cross/perl5/ch-1.pl
@@ -0,0 +1,22 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+use feature 'say';
+
+@ARGV or die "Please give me at least one string.\n";
+
+for (@ARGV) {
+ say for brace_expand($_);
+}
+
+sub brace_expand {
+ my ($string) = @_;
+
+ my $braced;
+ unless (($braced) = $string =~ /\{(.+?)}/) {
+ return $string;
+ }
+
+ return map { $string =~ s/\{.+?}/$_/r; } split /,/, $braced;
+}