VSarkiss is absolutely right - a lot of output from system stored procedures is sent to the client as "PRINT" messages. These need to be processed in a DBD::Sybase error handler where they will appear with an error code of 0. See the syb_err_handler attribute in the DBD::Sybase documentation for more details.