aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Ferrari <fluca1978@gmail.com>2022-12-27 09:57:20 +0100
committerLuca Ferrari <fluca1978@gmail.com>2022-12-27 09:57:20 +0100
commit1ed55b1aa7084fca33cda1b3c3ce683a16a65ac5 (patch)
tree0dac1471c169a66de4d3ba979c04877fd4e2acfe
parent772fb588198fa4e4ddb2a7e6b322c0abfe4c8b80 (diff)
downloadperlweeklychallenge-club-1ed55b1aa7084fca33cda1b3c3ce683a16a65ac5.tar.gz
perlweeklychallenge-club-1ed55b1aa7084fca33cda1b3c3ce683a16a65ac5.tar.bz2
perlweeklychallenge-club-1ed55b1aa7084fca33cda1b3c3ce683a16a65ac5.zip
Task 1 plperl done
-rw-r--r--challenge-197/luca-ferrari/postgresql/ch-1.plperl23
1 files changed, 23 insertions, 0 deletions
diff --git a/challenge-197/luca-ferrari/postgresql/ch-1.plperl b/challenge-197/luca-ferrari/postgresql/ch-1.plperl
new file mode 100644
index 0000000000..b1c1ac7c4c
--- /dev/null
+++ b/challenge-197/luca-ferrari/postgresql/ch-1.plperl
@@ -0,0 +1,23 @@
+-- Perl Weekly Challenge 197
+-- Task 1
+
+CREATE SCHEMA IF NOT EXISTS pwc197;
+
+/*
+estdb=> select pwc197.task1_plperl( array[1,2,3,0,4,5,0,9,0,10]::int[] );
+ task1_plperl
+------------------------
+ {1,2,3,4,5,9,10,0,0,0}
+
+*/
+
+CREATE OR REPLACE FUNCTION
+pwc197.task1_plperl( int[] )
+RETURNS int[]
+AS $CODE$
+my ( $list ) = @_;
+my @sorted = ( grep( { $_ != 0 } $list->@* ),
+ grep( { $_ == 0 } $list->@* ) );
+return [ @sorted ];
+$CODE$
+LANGUAGE plperl;