O'Reilly logo

Oracle and Open Source by Sean Hull, Andy Duncan

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Using Perl with Oracle Web Applications

Perl is an excellent language for enabling web communication with an Oracle database. Perl DBI, which we describe in some detail in Chapter 2, is the interface you’ll use for this communication. Chapter 3 contains more general information about installing and using Perl.

You will be reassured to know that connecting to the database via your Perl CGI scripts is much the same as connecting to the database via a standalone Perl program. You open a database handle and connect to the database, open a cursor or statement handle, specify a query, parse or prepare the statement, and then execute it. If the statement is a SELECT, you then fetch rows (perhaps the user’s favorite books, as generated the previous night by your monster data warehouse). When you’re all done spitting back the information, you close down your cursor and disconnect from the database.

Historically, there have been some performance problems with this approach, however. Whenever a Perl program is run, the rather sizeable Perl interpreter must first be brought into memory before it can interpret and execute your Perl program. Unfortunately, this can be Sssssslowwwwwww with a capital S. (Java servlet fans have pointed to this slowness of Perl in advocating that their technology be used instead of Perl—via ConnectionPool.class and PoolManager.class statically instantiated objects, as we describe later in this book).

Has Perl taken this challenge from the Java evangelists lying down? ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required