Jesse Eisenberg is to play arch-villain Lex Luthor in Warner Bros' Superman-Batman movie - a choice that has surprised both film and comic book fans.

Eisenberg, 30, starred in The Social Network and is a widely respected actor and playwright, but is not known for the kind of villainous gravitas that Gene Hackman brought to the role in 1987 opposite Christopher Reeve.

The Superman-Batman film is to be directed by Zac Snyder, who said Eisenberg would allow the film to take Luthor in "some new and unexpected directions".