I have been disappointed for a long time with the way PL/Perl handles array arguments. For example, let's consider a simple Perl function that takes a value and a list and checks whether the value is present in the list.
CREATE FUNCTION check_values { my $val = shift; my $aref = shift; foreach (@$aref) { return true if $val eq $_ } return false; }
A practical use …