diff options
| author | Luca Ferrari <fluca1978@gmail.com> | 2022-08-22 11:38:26 +0200 |
|---|---|---|
| committer | Luca Ferrari <fluca1978@gmail.com> | 2022-08-22 11:38:26 +0200 |
| commit | 4dce5e63a15f7718baabc557d66c067bec6dcd36 (patch) | |
| tree | 369d45f5412887cb9258cffaf6ac2f079fb5e13f | |
| parent | 3c232b36f0c6b41f5cc0479ce929375f0012ea99 (diff) | |
| download | perlweeklychallenge-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.plperl | 53 |
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; |
