The Future Perfect is complicated to form, but has one simple use: to view a completed action or event from a particular point in the future. The event described is incomplete (or has not started) in the present. He will have read the book by tomorrow. (But he has not read it now.) The future perfect is therefore used to describe something that will be complete at a certain point in the future. They will have learned everything by the end of the year.