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


in reply to DBI:Sybase - Period in database name

Try quote_identifier:
"quote_identifier" $sql = $dbh->quote_identifier( $name ); $sql = $dbh->quote_identifier( $catalog, $schema, $table, \%att +r ); Quote an identifier (table name etc.) for use in an SQL statement, by escaping any special characters (such as double quotation marks) it contains and adding the required type of outer quotation marks.
Update: Hmm, all that function seems to do for 'foo.table' is wrap double quotes around it...so if that doesn't work for you, then I don't know what else to do.

Another update: Aha (read other posts in this thread). Sybase quotes identifiers with brackets (e.g. "[column name with spaces]"), which suggests to me that quote_identifier should do the same, although there is also a DBD::Sybase attribute 'syb_quoted_identifier', which AFAICT is supposed to enable single quotes for quoting identifiers.