http://www.perlmonks.org?node_id=390053

martymart has asked for the wisdom of the Perl Monks concerning the following question:

Fellow Monks,

I'm using Sybase 11 on a linux box. my perl script is on a windows machine. And I'm using Sybase.pm version: 1.02 Revision: 1.47
Basically I have a stored procedure 'spSubComponentADD' which simply puts strings into 'SubComponentName' and 'SubComponentDescription'. 'SubComponentID' is an ID number thats created by the stored procedure, it simply starts at 1 and increments with each new row. I have a perl script that calls 'spSubComponentADD' and puts values into 'SubComponentName' and 'SubComponentDescription'.
My problem is with the returned value, its killing the script. How do I get around this?
my $sth = $dbh->prepare("exec spSubComponentADD \@SubComponentName = ? +, \@SubComponentDescription = ?, \@SubComponentID = ? OUTPUT "); $sth->execute($subcomponentname, $subcomponentdescription) or handle_error ("Can't execute SQL" . $sth->errstr(), $dbh, $ +sth); my (@data) = $sth->func('syb_output_params');
I can get this thing to work by changing the stored proecdure so that it doesn't return a value, but I'm gonna have to get this working for loads of stored procedures, so this really isn't an option. I realise that this is probably a problem with the syntax I'm using. Any advice (or sample working code) would be greatly appreciated.
Martymart