in reply to new() function: incorrect?
It's hard to know if there are contextual things missing, since I wasn't there. Did you ask them why they thought it was wrong? Maybe they were testing whether you really knew what you were talking about. Maybe they say it's wrong just to see how you react.
Your new doesn't accept any arguments, maybe they didn't like that. You don't have a true value (1;) at the end of the package, maybe it was that. Maybe they didn't want you to actually write an object, but instead use a module like Moose.