to have done一般指尚未完成的完成时,属于完成时语态。例如:By the end of next term(尚未来到) ,we are going to have learnt nine thousand words.
having done 强调时间上的先后顺序,一般作状语。例如:Having finished his work,Bob went back home happily.
I don't think you ought to have done that.
我想你不应该这样做的。
They ought to have done so sooner; it would have saved them numerous misfortunes.
他们早就该这样做,那样,许多不幸的事都不会发生了。
You ought to have done these exercises because you were required to so during your holidays.
这些练习你本应该做完的,因为假期里就要求你做了。
Is there anything you regret not having done or would like to have done differently at college.
你有没有什么你后悔大学时没有做的,或是想作的跟原来不一样的事。
When I started in this business,I was just a babe in the woods.I was lucky to have done so well.
当我开始干这买卖的时候,我是一窍不通.我能搞得这么好,全凭运气。