in reply to selecting from a mysqldatabase

  1. @compile can contain anything, so you should really quote its value(s) when you use them in the prepare call (quote as in DBI->quote)
  2. $identifier can contain anything (you cannot rely on it returning column values in the order you expect). Be specific in your selects, don't select information you're never going to use (don't "select *" when all you don't want it)