I did not intend to advise creating SQL with fixed strings if you have variable parts. This was just an example (and didn't contain any variables in the SQL).
And if you have things like
q(SELECT ConfigValue FROM ConfigTable WHERE ConfigKey = 'ScreenWidth'), where you have neither placeholder nor variable interpolation, then there's other problems than simply the fixed string :-)
Plus in the "I prefer" part I used prepare anyway…
Update: Of course,
$dbh->do("SELECT ... is very bad practice
per se, because
SELECT COUNT(*) ... usually is more efficient ;-) (see
do in DBI) … used it for illustration purposes only.