aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Ferrari <fluca1978@gmail.com>2022-08-22 11:38:26 +0200
committerLuca Ferrari <fluca1978@gmail.com>2022-08-22 11:38:26 +0200
commit4dce5e63a15f7718baabc557d66c067bec6dcd36 (patch)
tree369d45f5412887cb9258cffaf6ac2f079fb5e13f
parent3c232b36f0c6b41f5cc0479ce929375f0012ea99 (diff)
downloadperlweeklychallenge-club-4dce5e63a15f7718baabc557d66c067bec6dcd36.tar.gz
perlweeklychallenge-club-4dce5e63a15f7718baabc557d66c067bec6dcd36.tar.bz2
perlweeklychallenge-club-4dce5e63a15f7718baabc557d66c067bec6dcd36.zip
Task 1 plperl done
-rw-r--r--challenge-179/luca-ferrari/postgresql/ch-1.plperl53
1 files changed, 53 insertions, 0 deletions
diff --git a/challenge-179/luca-ferrari/postgresql/ch-1.plperl b/challenge-179/luca-ferrari/postgresql/ch-1.plperl
new file mode 100644
index 0000000000..f50a5b9828
--- /dev/null
+++ b/challenge-179/luca-ferrari/postgresql/ch-1.plperl
@@ -0,0 +1,53 @@
+-- Perl Weekly Challenge 179
+-- Task 1
+
+CREATE SCHEMA IF NOT EXISTS pwc179;
+
+CREATE OR REPLACE FUNCTION
+pwc179.task1_plperl( int )
+RETURNS text
+AS $CODE$
+ my @units = qw/
+ first
+ second
+ third
+ foruth
+ fifth
+ sixth
+ seventh
+ eigth
+ nineth
+ tenth
+ /;
+
+ my @teens = qw /
+ eleven
+ twelve
+ thriteen
+ fourteen
+ fifteen
+ sixteen
+ seventeen
+ eigtheen
+ nineteen
+ /;
+ my @non_teens = qw/
+ twenty
+ thirty
+ fourty
+ fifty
+ sixty
+ seventy
+ eighty
+ ninety
+ /;
+
+ my ( $n ) = @_;
+
+ return $units[ $n - 1 ] if ( $n <= 10 );
+ return $teens[ ( $n - 1 ) % 10 ] if ( $n > 10 && $n < 20 );
+ return $non_teens[ ( $n / 10 ) - 2 ] if ( $n >= 20 && $n % 10 == 0 );
+ return $non_teens[ ( $n / 10 ) - 2 ] . $units[ ( $n % 10 ) - 1 ] if ( $n > 20 );
+
+$CODE$
+LANGUAGE plperl;