diff options
| author | Luca Ferrari <fluca1978@gmail.com> | 2023-04-03 11:51:31 +0200 |
|---|---|---|
| committer | Luca Ferrari <fluca1978@gmail.com> | 2023-04-03 11:51:31 +0200 |
| commit | 2773e3648994354fc169f59fa8dd148aacf96100 (patch) | |
| tree | 1bfe97f44eef1169798bba35f7f520fa754f4504 | |
| parent | 01b9182fbd76e758dc13ea9706ea714612cdf98a (diff) | |
| download | perlweeklychallenge-club-2773e3648994354fc169f59fa8dd148aacf96100.tar.gz perlweeklychallenge-club-2773e3648994354fc169f59fa8dd148aacf96100.tar.bz2 perlweeklychallenge-club-2773e3648994354fc169f59fa8dd148aacf96100.zip | |
Task 1 plperl done
| -rw-r--r-- | challenge-211/luca-ferrari/postgresql/ch-1.plperl | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/challenge-211/luca-ferrari/postgresql/ch-1.plperl b/challenge-211/luca-ferrari/postgresql/ch-1.plperl new file mode 100644 index 0000000000..d2085bdc4c --- /dev/null +++ b/challenge-211/luca-ferrari/postgresql/ch-1.plperl @@ -0,0 +1,29 @@ +-- +-- Perl Weekly Challenge 211 +-- Task 1 +-- See <https://perlweeklychallenge.org/blog/perl-weekly-challenge-211/> +-- + +CREATE SCHEMA IF NOT EXISTS pwc211; + +/* +testdb=> select pwc211.task1_plperl( array[ array[4,3,2,1], array[ 5,4,3,2], array[6,5,4,3] ] ); + task1_plperl +-------------- + t +(1 row) + +*/ +CREATE OR REPLACE FUNCTION +pwc211.task1_plperl( int[][] ) +RETURNS bool +AS $CODE$ + my ( $array ) = @_; + + my $diag; + $diag->{ $array->[ $_ ]->[ $_ ] }++ for ( 0 .. scalar( $array->@* ) - 1 ); + return 0 if ( keys( $diag->%* ) != 1 ); + return 0 if ( $diag->{ $array->[ 0 ]->[ 0 ] } != scalar( $array->@* ) ); + return 1; +$CODE$ +LANGUAGE plperl; |
