情態動詞+ have +過去分詞

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 experiment.
he ought not to have thrown the old clothes away.(事實上已扔了。)
ought to 在語氣上比should 要強。

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.