Though this is a bit off topic, note that the
{ ora_type => ORA_CLOB }
while seemingly trivial, can be terribly important.
DBD::Oracle by default binds CLOBs to Oracle datatype VARCHAR2, which truncates whitespace; that is, if you do a
UPDATE users SET firstname='Bob ' WHERE userid='bob'
then later do a
$db->prepare("SELECT firstname FROM users WHERE userid='bob');
$db->execute();
my ($firstname) = $db->fetchrow_array()
you will get
$firstname eq 'Bob'
While this seems trivial, if you ever put something like a frozen data structure (via the FreezeThaw module) in a CLOB, you'll end up getting errors all over the place when you later try to thaw it if the frozen structure happens to have whitespace at the end.
elwarren is obviously wise in the ways of Perl and Oracle ;-)