1) may(might) have + done sth, can (could) have + done sth 表示过去,推测过去时间里可能发生的事情
Philip may (might) have been hurt seriously in the car accident
Philip can (could) have been hurt seriously in the car accident
2) must have +done sth,对过去时间里可能发生的事情的推测,语气较强,具有"肯定","谅必"的意思
Linda has gone to work, but her bicycle is still here
She must have gone by bus
3) ought to have done sth, should have done sth本应该做某事,而事实上并没有做。否定句表示"不该做某事而做了"
You ought to (should) have been more careful in this experimen
He ought not to have thrown the old clothes away(事实上已扔了)
4) needn‘t have done sth 本没必要做某事
I dressed very warmly for the trip, but I needn‘t have done so. The weather was hot
5) would like to have done sth 本打算做某事
I would like to have read the article, but I was very busy then