Many database-oriented extensions to Perl have been written. Basically, these use the usub mechanism (see the usub/ subdirectory) in the source distribution) to link in a database library, allowing embedded calls to Informix, Ingres, Interbase, Oracle and Sybase.
Here are the authors of the various extensions:
What Target DB Who -------- ----------- ---------------------------------------- ?Infoperl Informix Kurt Andersen ([email protected]) Ingperl Ingres Tim Bunce ([email protected]) and Ted Lemon Interperl Interbase Buzz Moschetti ([email protected]) Isqlperl Informix William Hails [email protected] Oraperl Oracle Kevin Stock ([email protected]) Pgperl Postgres Igor Metz ([email protected]) *Sqlperl Ingres Ted Lemon ([email protected]) Sybperl Sybase Michael Peppler ([email protected]) Uniperl Unify 5.0 Rick Wargo ([email protected]) ? Does this one still exist?
*Sqlperl appears to have been subsumed by Ingperl
Buzz Moschetti* has organized a project to create a higher level interface to allow you to write your queries in a database-independent fashion. If this type of project interests you, send mail to <[email protected]> and asked to be placed on the ``perldb-interest'' mailing lists.
Here's a bit of advertising from Buzz:
Perl is an interpreted language with powerful string, scalar, and array processing features developed by Larry Wall that ``nicely bridges the functionality gap between sh(1) and C.'' Since relational DB operations are typically textually oriented, perl is particularly well-suited to manage the data flows. The C source code, which is available free of charge and runs on many platforms, contains a user-defined function entry point that permits a developer to extend the basic function set of the language. The DBperl Group seeks to exploit this capability by creating a standardized set of perl function extensions (e.g. db_fetch(), db_attach()) based on the SQL model for manipulating a relational DB, thus providing a portable perl interface to a variety of popular RDMS engines including Sybase, Oracle, Ingres, Informix, and Interbase. In theory, any DB engine that implements a dynamic SQL interpreter in its HLI can be bolted onto the perl front end with predicatable results, although at this time backends exist only for the aforementioned five DB engines.
The official archive for DBperl extensions is ftp://ftp.demon.co.uk/pub/perl/db It's the home of the evolving DBperl API Specification. Here's an extract from the updated README there:
DBI/ The home of the DBI archive. To join the DBI mailing list send your request to [email protected] DBD/ Database Drivers for the DBI ... Oracle/ By Tim Bunce (not yet ready!) Ingres/ By Tim Bunce (not yet started!) mod/ Other Perl 5 Modules and Extensions ... Sybperl/ By Michael Peppler, [email protected] perl4/ Perl 4 extensions (using the usub C interface) oraperl/ ORACLE 6 & 7 By Kevin Stock, [email protected] sybperl/ SYBASE 4 By Michael Peppler, [email protected] ingperl/ INGRES By Tim Bunce [email protected] and Ted Lemon isqlperl/ INFORMIX By William Hails, [email protected] interperl/ INTERBASE By Buzz Moschetti, [email protected] oraperl/ ORACLE 6 & 7 By Kevin Stock (sadly no longer on the net) sybperl/ SYBASE 4 By Michael Peppler, [email protected] ingperl/ INGRES By Tim Bunce [email protected] and Ted Lemon isqlperl/ INFORMIX By William Hails, [email protected] interperl/ INTERBASE By Buzz Moschetti, [email protected] uniperl/ UNIFY 5.0 By Rick Wargo, [email protected] pgperl/ POSTGRES By Igor Metz, [email protected] btreeperl/ NDBM perl extensions. By John Conover, [email protected] ctreeperl/ C-Tree perl extensions. By John Conover, [email protected] duaperl/ X.500 Directory User Agent. By Eric Douglas. scripts/ Perl and shell scripts rdb/ RDB is a perl RDBMS for ASCII files. By Walt Hobbs, [email protected] shql/ SHQL is an interactive SQL database engine. Written as a shell script, SHQL interprets SQL commands and manipulates flat files based on those commands. By Bruce Momjian, [email protected] xbase/ Perl scripts for accessing xBase style files (dBase III) refinfo/ Reference information sqlsyntax/ Yacc and lex syntax and C source code for SQL1 and SQL2 from ftp.uu.net:/pub/uunet/published/oreilly/nutshell/yacclex, and a draft SQL3 syntax from Jeff Fried <[email protected]>+ formats/ Details of file formats such as Lotus 1-2-3 .WK1There are also a number of non SQL database interfaces for perl available from ftp.demon.co.uk. These include:
Directory Target System Authors and notes --------- ------------- ------------------------------------------- btreeperl NDBM extension John Conover ([email protected]) ctreeperl CTree extension John Conover ([email protected]) duaperl X.500 DUA Eric Douglas rdb RDBMS Walt Hobbs ([email protected]) shql SQL Engine Bruce Momjian ([email protected])
Other resources at this site: