aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrage311 <rage_311@hotmail.com>2019-10-10 18:24:23 -0600
committerrage311 <rage_311@hotmail.com>2019-10-10 18:24:23 -0600
commitb3f593fbcb48adc67922f505d12dc50063dc5fce (patch)
treee539d909afea12c9dd4fa270460482df4d5d0656
parent3cb84ac2edab1c5ad39efa41bcf6451c9020d45c (diff)
downloadperlweeklychallenge-club-b3f593fbcb48adc67922f505d12dc50063dc5fce.tar.gz
perlweeklychallenge-club-b3f593fbcb48adc67922f505d12dc50063dc5fce.tar.bz2
perlweeklychallenge-club-b3f593fbcb48adc67922f505d12dc50063dc5fce.zip
challenge 029, rage311, perl5
-rw-r--r--challenge-029/rage311/README1
-rw-r--r--challenge-029/rage311/perl5/ch-1.pl14
-rw-r--r--challenge-029/rage311/perl5/ch-2.pl21
3 files changed, 36 insertions, 0 deletions
diff --git a/challenge-029/rage311/README b/challenge-029/rage311/README
new file mode 100644
index 0000000000..8277c95e21
--- /dev/null
+++ b/challenge-029/rage311/README
@@ -0,0 +1 @@
+Solution by rage311
diff --git a/challenge-029/rage311/perl5/ch-1.pl b/challenge-029/rage311/perl5/ch-1.pl
new file mode 100644
index 0000000000..7f9de7b34f
--- /dev/null
+++ b/challenge-029/rage311/perl5/ch-1.pl
@@ -0,0 +1,14 @@
+#!/usr/bin/env perl
+
+use 5.028;
+use strict;
+use warnings;
+
+die 'Need brace expansion phrase as argument' unless
+ my $input = $ARGV[0];
+
+die 'No braces to expand' unless
+ my ($pre, $exp, $post) = $input =~ /^\s*(.+?)\s*\{(.+)\}\s*(.+?)\s*$/;
+
+say join ' ', $pre, $_, $post for split /,/, $exp;
+
diff --git a/challenge-029/rage311/perl5/ch-2.pl b/challenge-029/rage311/perl5/ch-2.pl
new file mode 100644
index 0000000000..de9c340ca0
--- /dev/null
+++ b/challenge-029/rage311/perl5/ch-2.pl
@@ -0,0 +1,21 @@
+#!/usr/bin/env perl
+
+use 5.028;
+use strict;
+use warnings;
+
+use FFI::Platypus;
+
+use constant JAPH => 'Perl is awesome';
+
+my $ffi = FFI::Platypus->new;
+
+# search libc
+$ffi->lib(undef);
+
+# C strcmp, 0 == values are equal
+say $ffi->function(strcmp => [qw(string string)] => 'int')
+ ->call('Perl is awesome', JAPH) == 0
+ ? 'It sure is!'
+ : 'Does not compute. Must be in an alternate dimension.';
+