aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Ferrari <fluca1978@gmail.com>2023-01-16 11:42:48 +0100
committerLuca Ferrari <fluca1978@gmail.com>2023-01-16 11:42:48 +0100
commitad488d50e99fd7515521e0902671b2c24d032ad3 (patch)
tree54b3257dbd71019ce6295dca63ea05332fe5a0da
parent690be1c0b847c56acce9a2927f9dae8d4c151a97 (diff)
downloadperlweeklychallenge-club-ad488d50e99fd7515521e0902671b2c24d032ad3.tar.gz
perlweeklychallenge-club-ad488d50e99fd7515521e0902671b2c24d032ad3.tar.bz2
perlweeklychallenge-club-ad488d50e99fd7515521e0902671b2c24d032ad3.zip
Task 2 plperl done
-rw-r--r--challenge-200/luca-ferrari/postgresql/ch-2.plperl122
1 files changed, 122 insertions, 0 deletions
diff --git a/challenge-200/luca-ferrari/postgresql/ch-2.plperl b/challenge-200/luca-ferrari/postgresql/ch-2.plperl
new file mode 100644
index 0000000000..d436feaeee
--- /dev/null
+++ b/challenge-200/luca-ferrari/postgresql/ch-2.plperl
@@ -0,0 +1,122 @@
+--
+-- Perl Weekly Challenge 200
+-- Task 2
+-- See <https://perlweeklychallenge.org/blog/perl-weekly-challenge-200/>
+--
+
+CREATE SCHEMA IF NOT EXISTS pwc200;
+
+CREATE OR REPLACE FUNCTION
+pwc200.task2_plperl( int )
+RETURNS text
+AS $CODE$
+
+ use List::MoreUtils qw/zip/;
+ my ( $value ) = @_;
+
+ my $lcd = [
+ [ ' -------- ',
+ '| |',
+ '| |',
+ '| |',
+ '| |',
+ '| |',
+ ' -------- ',
+ ],
+ [ ' ',
+ ' |',
+ ' |',
+ ' |',
+ ' |',
+ ' |',
+ ' ',
+ ],
+ [ ' ------ ',
+ ' |',
+ ' |',
+ ' ------ ',
+ '| ',
+ '| ',
+ ' ------ ',
+ ],
+
+ [ ' ------ ',
+ ' |',
+ ' |',
+ ' ------ ',
+ ' |',
+ ' |',
+ ' ------ ',
+ ],
+
+ [ '| |',
+ '| |',
+ '| |',
+ ' ------ ',
+ ' |',
+ ' |',
+ ' ',
+ ],
+ [ ' ------ ',
+ '| ',
+ '| ',
+ ' ------ ',
+ ' |',
+ ' |',
+ ' ',
+ ],
+ [ ' ------ ',
+ '| ',
+ '| ',
+ ' ------ ',
+ '| |',
+ '| |',
+ ' ------ ',
+ ],
+
+ [ ' -------',
+ ' |',
+ ' |',
+ ' | ',
+ ' |',
+ ' |',
+ ' ',
+ ],
+
+ [ ' -------- ',
+ '| |',
+ '| |',
+ ' ------- ',
+ '| |',
+ '| |',
+ ' -------- ',
+ ],
+
+ [ ' -------- ',
+ '| |',
+ '| |',
+ ' ------- ',
+ ' |',
+ ' |',
+ ' -------- ',
+ ],
+
+
+ ];
+
+
+ my $display;
+
+ for my $row ( 0 .. 6 ) {
+ for ( split '', $value ) {
+ $display .= ' ' . $lcd->[ $_ ]->[ $row ];
+ }
+
+ $display .= "\n";
+ }
+
+ $display .= "\n";
+
+ return $display;
+$CODE$
+LANGUAGE plperlu;