Perfect gerunds (having + past participle) allow you to show that one action happened before another, adding precision to your expression of time relationships between events.
Quick tip: Perfect gerund = 'having done' (active) or 'having been done' (passive) - shows the action happened BEFORE the main verb.
Form: having + past participle
Use having + past participle to show an action happened before the main verb.
I regret having said those words.
She denied having taken the money.
He admitted having made a mistake.
After certain verbs
Use perfect gerunds after regret, deny, admit, recall, remember, forget, mention.
I don't recall having met her before.
He mentioned having visited that museum.
She forgot having promised to help.
Passive perfect gerund
Use having been + past participle for passive meaning.
She resents having been ignored.
He appreciates having been given this opportunity.
They dislike having been kept waiting.
Common mistakes
Not "I regret to have said that." — say "I regret having said that.". 'Regret' + gerund for past actions.
Not "She denied to have taken it." — say "She denied having taken it.". 'Deny' is followed by gerund, not infinitive.
Not "He admitted having make a mistake." — say "He admitted having made a mistake.". Need past participle after 'having'.
Practise it
Think about sequence: 'I regret having said that' = I said it first, then I regretted it. The gerund action always comes first.