How to make it work? (PL/Perl + Net::LDAP)

From: Bruno Lavoie <bruno(dot)lavoie(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: How to make it work? (PL/Perl + Net::LDAP)
Date: 2007-07-16 04:29:03
Message-ID: 469AF40F.30505@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

hello,

simple problem, I hope I can do this working on! If i'm on a wrong
place, just tell me where I can find answers to my problem....

Here's my first pl/perl routine that compile very well:

my $ldap = Net::LDAP->new('mydc.mycomp.com');

my $bind_uid = 'DOMAIN\\'.$_[0];
my $mesg = $ldap->bind($bind_uid, password => $_[1]);

if ($mesg == 0) {
return true;
} else {
return false;
}

But at runtime test it shows me this message:

ERROR: error from Perl function: Can't locate object method "new" via
package "Net::LDAP" (perhaps you forgot to load "Net::LDAP"?) at line 2.

Okkkkkk, nice, so simple to put : use Net::Perl; but with this line
added first of all, it's not compiling....
The error message is : ERROR: creation of Perl function failed:
'require' trapped by operation mask at line 2.
What is the meaning of this message? ggld a bit and can't event found
any piece of answers...

Here's the complete create or replace code:

CREATE OR REPLACE FUNCTION "public"."LDAP_AUTH" ("USER" varchar, "PASS"
varchar) RETURNS boolean AS
$body$
use Net::LDAP;

my $ldap = Net::LDAP->new('mydc.mycomp.com');

my $bind_uid = 'DOMAIN\\'.$_[0];
my $mesg = $ldap->bind($bind_uid, password => $_[1]);

if ($mesg == 0) {
return true;
} else {
return false;
}
$body$
LANGUAGE 'plperl' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER;

WHY:
compile without the use Net::LDAP and crash at runtime...?
don't compiles with the use of Net::LDAP?

thanks a lot!
Bruno

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Joshua D. Drake 2007-07-16 04:36:09 Re: How to make it work? (PL/Perl + Net::LDAP)
Previous Message novnov 2007-07-16 00:43:04 Re: Could not create log file error?