in reply to I need to prevent Perl from interpreting Strings

I realise this has been said here already, but I don't think it can be emphasised enough. Use placeholders. Don't use DBI::quote, don't put your values directly in your statements, even if they're constants. Use placeholders. If your DB doesn't support them (which I doubt is the case for postgreSQL), get a better database. Heck, even DBD::CSV supports placeholders, there's no excuse.

Placeholders solve all DB-related problems from interpolating strings. All that you're left with is perl-related interpolation.

There are some limitations on placeholders - e.g., you can't set the table name with a placeholder very often (plays havoc with the preparation of the execution path, I suppose). But at least with tables, I doubt many DBs support [@'\s] in the table name anyway, so if you want to use $email as a table name, you've already got problems which placeholders couldn't solve.