aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Ferrari <fluca1978@gmail.com>2023-05-08 09:38:38 +0200
committerLuca Ferrari <fluca1978@gmail.com>2023-05-08 09:38:38 +0200
commit225504876e6d28b67ed457544cdabf3dd812e0b8 (patch)
treee9f7e7eb40c2e90c881d960cabe4f177462f80e2
parent9318b7bed015211d743f030caeccd84dd533a2fe (diff)
downloadperlweeklychallenge-club-225504876e6d28b67ed457544cdabf3dd812e0b8.tar.gz
perlweeklychallenge-club-225504876e6d28b67ed457544cdabf3dd812e0b8.tar.bz2
perlweeklychallenge-club-225504876e6d28b67ed457544cdabf3dd812e0b8.zip
Task 1 plperl done
-rw-r--r--challenge-216/luca-ferrari/postgresql/ch-1.plperl26
1 files changed, 26 insertions, 0 deletions
diff --git a/challenge-216/luca-ferrari/postgresql/ch-1.plperl b/challenge-216/luca-ferrari/postgresql/ch-1.plperl
new file mode 100644
index 0000000000..e254eb6d7b
--- /dev/null
+++ b/challenge-216/luca-ferrari/postgresql/ch-1.plperl
@@ -0,0 +1,26 @@
+--
+-- Perl Weekly Challenge 216
+-- Task 1
+-- See <https://perlweeklychallenge.org/blog/perl-weekly-challenge-216/>
+--
+
+CREATE SCHEMA IF NOT EXISTS pwc216;
+
+CREATE OR REPLACE FUNCTION
+pwc216.task1_plperl( text, text[])
+RETURNS SETOF text
+AS $CODE$
+ my ( $registration_code, $strings ) = @_;
+ for my $word ( $strings->@* ) {
+ my $matches = 0;
+ for my $needle ( split( //, $word ) ) {
+ $matches++ if ( grep( { $needle eq $_ } split( //, $registration_code ) ) );
+ }
+
+ return_next( $word ) if ( $matches == length( $word ) );
+ }
+
+return undef;
+
+$CODE$
+LANGUAGE plperl;