in reply to why use OO nature in CGI?
I'd say it's because of historic reasons, probably few people use it now. I venture to assume that most people now don't even hardcode html using heredocs, they use template systems: HTML::Template, Template::Toolkit, etc.