in reply to PL/SQL Functions.

A while back when i was doing similar stuff i found a few perl-dbi-dbd:oracle code snippets here that were very usefull to me. I believe the one you're after is similar to this :
use strict; use DBI; my $dbh = DBI->connect( 'dbi:Oracle:orcl', 'jeffrey', 'jeffspassword', { RaiseError => 1, AutoCommit => 0 } ) || die "Database connection not made: $DBI::errstr"; my $rv; #holds +the return value from Oracle stored procedure eval { my $func = $dbh->prepare(q{ BEGIN :rv := jwb_function( parameter1_in => :parameter1 ); END; }); $func->bind_param(":parameter1", 'Bunce'); $func->bind_param_inout(":rv", \$rv, 6); $func->execute; $dbh->commit; }; if( $@ ) { warn "Execution of stored procedure failed: $DBI::errstr\n"; $dbh->rollback; } print "Execution of stored procedure returned $rv\n"; $dbh->disconne +ct;
The binding of out vars happens here : $func->bind_param_inout(":rv", \$rv, 6);. The DBI assigns the return value to a reference ($rv). If i remember correctly, '6' is the number of bytes to use or the datatype (not sure on this, check the docs)

Jorg

"Do or do not, there is no try" -- Yoda