We must take care not to confuse the two issues. The transitive action verb here is "to eat." The "have" and the "been" are just helpers, or "auxilliaries."
"Have" makes it "perfect," meaning the action has been completed.
"Been" makes it "passive voice," meaning the subject
receives the action, rather than performing it.
Another complication exists because we're using the "-ing" form of the verb (present participle) rather than a simple tense, such as "he eats the food" (active voice); "the food is eaten by him (passive voice).
"He, having eaten the food, took a nap." (active voice) "The food, having been eaten by him, was slowly starting to be digested." (passive voice)
Notice that you can remove the "having" phrase from the sentence, and what you have remaining is a complete sentence by itself. Coming at the begining of the sentence as it does, the "having" phrase gives us additional information describing the main sentence, which follows. It will most likely describe the subject of the main sentence.
The thing about passive voice is that you can't always tell who or what is doing the acting.
Having been stabbed, the king was not feeling well.
If you wish to convert this to active voice, you need to make something up.
Having stabbed the king, the intruder fled on horseback.Having eaten the king, the lion took a nap.When you perform a passive-to-active transformation, the subject and the object exchange places. If you wish to keep the original meaning, other things will have to change.
Since the lion ate the king, the king missed his appointment with the queen.