From b3f593fbcb48adc67922f505d12dc50063dc5fce Mon Sep 17 00:00:00 2001 From: rage311 Date: Thu, 10 Oct 2019 18:24:23 -0600 Subject: challenge 029, rage311, perl5 --- challenge-029/rage311/README | 1 + challenge-029/rage311/perl5/ch-1.pl | 14 ++++++++++++++ challenge-029/rage311/perl5/ch-2.pl | 21 +++++++++++++++++++++ 3 files changed, 36 insertions(+) create mode 100644 challenge-029/rage311/README create mode 100644 challenge-029/rage311/perl5/ch-1.pl create mode 100644 challenge-029/rage311/perl5/ch-2.pl 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.'; + -- cgit