by Mark Israel
     [This is a fast-access FAQ excerpt.]
In informal English, one can probably get away with using "who"
all the time, except perhaps after a preposition.
   The prescription for formal English is:  use "who" as the
subjective form (like "he"/"she"/ "they"), and "whom" as a direct or
indirect object (like "him"/ "her"/"them"):
    He gave it to me.  Who gave it to me?  That's the man who
    gave it to me.
    I gave it to him.  Whom did I give it to?  That's the man
    whom I gave it to.
    I gave him a book.  Whom did I give a book?  That's the man
    whom I gave a book.
   (The construction in the last two sentences is rare.  Usually a
preposition, in this case "to", is used when the indirect object
is separated from the direct object.)
   Note the difference between:
    I believe (that) he is drowned.  Who do I believe is
    drowned?  That is the man who I believe is drowned.
    I believe him to be drowned.  Whom do I believe to be
    drowned?  That is the man whom I believe to be drowned.
Note also, that unless you say "It is he", you cannot rely on these
transformations for complements of the verb "to be".  You may say
"It's him", but the question is "Who is it?", definitely not "Whom
is it?"
   The case of "whoever" is determined by its function in the
dependent clause that it introduces, not by its function in the main
clause:  "I like whoever likes me."  "Whomever I like likes me."
   Very few English-speakers make these distinctions instinctively;
most of those who observe them learned them explicitly.  Instincts
would lead them to select case based on word order rather than on
syntactic function.  Hence Shakespeare wrote "Young Ferdinand,
whom they suppose is drowned".  But Fowler called this a solecism in
modern English; it might be better to abstain from "whom" altogether
if one is not willing to master the prescriptive rules.