diff options
| author | Luca Ferrari <fluca1978@gmail.com> | 2022-04-11 15:47:02 +0200 |
|---|---|---|
| committer | Luca Ferrari <fluca1978@gmail.com> | 2022-04-11 15:47:02 +0200 |
| commit | a4c1ac2079615cfbde185b2b7ea95f4ee9c69774 (patch) | |
| tree | ebccc94f1a2b805ad84dea66230a9dab789094f9 | |
| parent | dd4ac83b62cc53b2088a7a924325c7fcc5541794 (diff) | |
| download | perlweeklychallenge-club-a4c1ac2079615cfbde185b2b7ea95f4ee9c69774.tar.gz perlweeklychallenge-club-a4c1ac2079615cfbde185b2b7ea95f4ee9c69774.tar.bz2 perlweeklychallenge-club-a4c1ac2079615cfbde185b2b7ea95f4ee9c69774.zip | |
Task 1 PLPERL
| -rw-r--r-- | challenge-160/luca-ferrari/postgresql/ch-1.plperl | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/challenge-160/luca-ferrari/postgresql/ch-1.plperl b/challenge-160/luca-ferrari/postgresql/ch-1.plperl new file mode 100644 index 0000000000..5cf81de25e --- /dev/null +++ b/challenge-160/luca-ferrari/postgresql/ch-1.plperl @@ -0,0 +1,45 @@ +-- Perl Weekly Challenge 160 +CREATE SCHEMA IF NOT EXISTS pwc160; +CREATE SCHEMA IF NOT EXISTS pwc160; + +/** + testdb=> select pwc160.four_is_magic( 7 ); + four_is_magic +--------------- + Seven is 5 + Five is 4 + Four is magic +*/ +CREATE OR REPLACE FUNCTION +pwc160.four_is_magic( int ) +RETURNS SETOF text +AS $CODE$ + +my $words = { + 1 => 'One', + 2 => 'Two', + 3 => 'Three', + 4 => 'Four', + 5 => 'Five', + 6 => 'Six', + 7 => 'Seven', + 8 => 'Eight', + 9 => 'Nine', +}; + + +my $stop = 4; +my ( $current ) = @_; + +while ( $current != $stop ) { + my $word = $words->{ $current }; + my $size = length $word; + $current = $size; + + return_next( "$word is $size" ); +} + +return_next( $words->{ $stop } . " is magic" ); +return undef; +$CODE$ +LANGUAGE plperl; |
