sub run_plsql_statement { my $package_name = shift; my $procedure_name = shift; my @params = @_; my $statement = "BEGIN\n"; $statement .= $package_name.'.' if $package_name; $statement .= $procedure_name; # probably have a better way to do the map... $statement .= '('.( join(',',( map { '?' } @params )) ).')' if @params; $statement .= ";\nEND;\n"; }