in reply to DBI order by clause and placeholders

For MySQL (not T-SQL or Oracle) there's an extra trick. You can use ? as a placeholder for a comma separated list:
SELECT * FROM table WHERE foo IN (?)
Which you then feed a string like join(',', @values).