Perfect
The perfect aspect is used to denote the circumstance of an action's being complete at a certain time. It is expressed using a form of the auxiliary verb have (appropriately conjugated for tense etc.) together with the past participle of the main verb: She has eaten it; We had left; When will you have finished?
Perfect forms can also be used to refer to states or habitual actions, even if not complete, if the focus is on the time period before the point of reference (We had lived there for five years). If such a circumstance is temporary, the perfect is often combined with progressive aspect.
The implications of the present perfect (that something occurred prior to the present moment) are similar to those of the simple past, although the two forms are generally not used interchangeably – the simple past is used when the time frame of reference is in the past, while the present perfect is used when it extends to the present.
For all uses of specific perfect constructions, see the sections on the present perfect, past perfect, future perfect and conditional perfect.
By using nonfinite forms of the auxiliary have, perfect aspect can also be marked on infinitives (as in should have left and expect to have finished working), and on participles and gerunds (as in having seen the doctor).
Note that while all of the constructions referred to here are commonly referred to as perfect (based on their grammatical form), some of them, particularly nonpresent and nonfinite instances, might not be considered truly expressive of the perfect aspect. This applies particularly when the perfect infinitive is used together with modal verbs: for example, he could not have been a genius might be considered (based on its meaning) to be a past tense of he cannot/could not be a genius; such forms are considered true perfect forms by some linguists but not others.
Perfect Progressive
The perfect and progressive (continuous) aspects can be combined, usually in referring to the completed portion of a continuing action or temporary state: I have been working for eight hours. Here a form of the verb have (denoting the perfect) is used together with been (the past participle of be, denoting the progressive) and the present participle of the main verb.
In the case of the stative verbs, which do not use progressive aspect, the plain perfect form is normally used in place of the perfect progressive: I've been here for half an hour (not I've been being here...).