I vote for one file. Treat it like a data structure rather than a first-class object. You can define it anywhere in the file if you wrap it in a BEGIN block. I've seen merlyn do that in some of his articles.
Comment on Re: Private Classes - Same or Separate Files?