Tried this: create or replace procedure GetNaem( dept_id IN NUMBER, dept_name OUT VARCHAR2 ) is begin select name INTO dept_name from Empl where id = dept_id order by name ; end ; # ============== Called by this: my $rv ; eval { my $func = $dbh->prepare(q{ BEGIN :rv := GetNaem( 2 => :parameter1 ) ; END ; }) ; # ... try to call empl_id no. 2 $func->bind_param(":parameter1", 2) ; # values returned by the procedure's output parameters. $func->bind_param_inout(":rv", \$rv, 6) ; $func->execute ;