"Programming the Perl DBI" by Descartes and Bunce has a section towards the back that describes each of the databases - the Oracle section describes
String data handling
VARCHAR2(size) - limit 2000 bytes for Oracle 7, and 4000 bytes for Oracle 8
CHAR - limit 2000 bytes
RAW - limit 2000 bytes
LONG/BLOB data handling
LONG - can hold up to 2 GB
LOB - can hold up to 4 GB
FILE - can hold up to 4 GB
The book on p. 141-142 says
"LongReadLen typically defaults to 0 or a small value
like 80, which means that little or no LONG data will
be fetched at all. If you plan to fetch any LONG
datatypes, you should set LongReadLen within your
application to slightly more then the length of the
longest column you expect to fetch. Setting it too
high just wastes memory."
Read the perldocs for DBI on LongReadLen - on *nix, do
perldoc DBI
and search(using the slash "/"

for "LongReadLen" - there's a lot of great info in there to help you.
HTH.
Hardy Merrill
Mission Critical Linux, Inc.