postgresql/src/pl/plperl
Bruce Momjian 0ed7864d68 Well, after persuading cvsup and cvs that it _is_ possible to have local
modifiable repositories, I have a clean untrusted plperl patch to offer
you :)

Highlights:
* There's one perl interpreter used for both trusted and untrusted
procedures. I do think its unnecessary to keep two perl
interpreters around. If someone can break out from trusted "Safe" perl
mode, well, they can do what they want already. If someone disagrees, I
can change this.

* Opcode is not statically loaded anymore. Instead, we load Dynaloader,
which then can grab Opcode (and anything else you can 'use') on its own.

* Checked to work on FreeBSD 4.3 + perl 5.5.3 , OpenBSD 2.8 + perl5.6.1,
RedHat 6.2 + perl 5.5.3

* Uses ExtUtils::Embed to find what options are necessary to link with
perl shared libraries

* createlang is also updated, it can create untrusted perl using 'plperlu'

* Example script (assuming you have Mail::Sendmail installed):
create function foo() returns text as '
         use Mail::Sendmail;

         %mail = ( To      => q(you@yourname.com),
                   From    => q(me@here.com),
                   Message => "This is a very short message"
                  );
         sendmail(%mail) or die $Mail::Sendmail::error;
return          "OK. Log says:\n", $Mail::Sendmail::log;
' language 'plperlu';

Alex Pilosov
2001-06-18 21:40:06 +00:00
..
eloglvl.c Fix a few missed NOIND usages. 2001-06-09 02:19:07 +00:00
eloglvl.h Fix a few missed NOIND usages. 2001-06-09 02:19:07 +00:00
GNUmakefile Pass on all CPPFLAGS that look like -I* to the PL/Perl build. 2000-11-02 18:40:13 +00:00
Makefile.PL Well, after persuading cvsup and cvs that it _is_ possible to have local 2001-06-18 21:40:06 +00:00
plperl.c Well, after persuading cvsup and cvs that it _is_ possible to have local 2001-06-18 21:40:06 +00:00
ppport.h pgindent run. Make it all clean. 2001-03-22 04:01:46 +00:00
README Polish PL/Perl documentation. The README file got shrunk to being a 2000-12-19 18:16:26 +00:00
SPI.xs Fix a few missed NOIND usages. 2001-06-09 02:19:07 +00:00

PL/Perl allows you to write PostgreSQL functions and procedures in
Perl.  To include PL/Perl in the build use './configure --with-perl'.
To build from this directory use 'gmake all; gmake install'.  libperl
must have been built as a shared library, which is usually not the
case in standard installations.

Consult the PostgreSQL User's Guide and the INSTALL file in the
top-level directory of the source distribution for more information.