The Future Perfect is formed with ‘will have + past participle’ but ‘be going to have + past participle’ has the same function and these two forms are interchangeable.
You will have finished by the time I am ready.
Will you have finished by the time I am ready?
You will not have finished when I am ready.
You are going to have finished by the time I am ready.
Are you going to have finished by the time I am ready?
You are not going to have finished by the time I am ready.
Note that in these examples there is no difference in meaning between the two forms.
The Future Perfect expresses the idea that something will occur before another action in the future. It can also show that something will happen before a specific time in the future.
By next June I will have gone to Spain.
By the time the guests arrive we are going to have prepared everything.
You will have learnt enough German to communicate with the delegates by the day of the conference.
How many cities will you have visited by the time you retire?
I will have been in Tokyo for three months before you visit.
Note that the Present Simple is used in the time clauses and future tenses cannot be used.
Like all future forms, the Future Perfect cannot be used in clauses beginning with time expressions such as; when, while, before, after, by the time, if, unless etc. Instead of the Future Perfect, the Present Perfect is used:
I am going to travel when I have finished my studies.
NOT
I am going to travel when I will have finished my studies.
Lesson by Tristan, teacher at EC Malta English school
Now complete the following with the correct form: