This chapter describes how to compile, install and use PL/Perl.
PL/Perl allows you to write functions in the Perl scripting language which may be used in SQL queries as if they were built into Postgres.
The PL/Perl intepreter is a full Perl interpreter. However, certain operations have been disabled in order to increase the security level of the system.
In general, the operations that are restricted are those that interact with the environment. This includes filehandle operations, require, and use (for external modules).
It should be noted that this security is not absolute. Indeed, several Denial-of-Service attacks are still possible - memory exhaustion and endless loops are two.
If you see anything in the documentation that is not correct, does not match your experience with the particular feature or requires further clarification, please use this form to report a documentation issue.