Tiene razón explorer en que el error es del CGI no del DBI. Ahora, viendo tu código me parece que para poder indicarte cuál podría ser el error sería necesario ver el código en donde recibes el array generado por tu función.
El error se genera cuando el array @result no está definido, por eso necesitamos ver el otro lado del código para determinar porqué es esto.
Lo que podrías hacer para regresar algún mensaje cuando no hay registros encontrados es verificar si el array está definido:
Using perl Syntax Highlighting
if( @result ){
#registros
}
else{
#no hay registros
}
#registros
}
else{
#no hay registros
}
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
Saludos