aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Ferrari <fluca1978@gmail.com>2022-12-19 10:23:41 +0100
committerLuca Ferrari <fluca1978@gmail.com>2022-12-19 10:23:41 +0100
commit5625ad93926298ceb5bcca92c5e7bdf9ccfd51a2 (patch)
treeb7efb948068add5bee30b9f766bcfab1036d625b
parentf8e4d9c51244dbc1c7bdcfc95977493a3e5f9ce0 (diff)
downloadperlweeklychallenge-club-5625ad93926298ceb5bcca92c5e7bdf9ccfd51a2.tar.gz
perlweeklychallenge-club-5625ad93926298ceb5bcca92c5e7bdf9ccfd51a2.tar.bz2
perlweeklychallenge-club-5625ad93926298ceb5bcca92c5e7bdf9ccfd51a2.zip
Task 1 plperl done
-rw-r--r--challenge-196/luca-ferrari/postgresql/ch-1.plperl24
1 files changed, 24 insertions, 0 deletions
diff --git a/challenge-196/luca-ferrari/postgresql/ch-1.plperl b/challenge-196/luca-ferrari/postgresql/ch-1.plperl
new file mode 100644
index 0000000000..834e9828ab
--- /dev/null
+++ b/challenge-196/luca-ferrari/postgresql/ch-1.plperl
@@ -0,0 +1,24 @@
+-- Perl Weekly Challenge 196
+-- Task 1
+
+CREATE SCHEMA IF NOT EXISTS pwc196;
+
+CREATE OR REPLACE FUNCTION
+pwc196.task1_plperl( int[] )
+RETURNS SETOF int[]
+AS $CODE$
+
+ my ( $array ) = $_[ 0 ];
+ my $index = 1;
+
+ while ( $index < $array->@* ) {
+ my @triplet = ( $array->[ $index - 1 ], $array->[ $index ], $array->[ $index + 1 ] );
+ $index += 2 and return_next( [ @triplet ] ) if ( $tripet[ 0 ] < $triplet[ 1 ]
+ && $triplet[ 1 ] < $triplet[ 2 ] );
+ $index++;
+ }
+
+return undef;
+
+$CODE$
+LANGUAGE plperl;