Present and past perfect auxiliaries
Periphrastic constructions of tense-aspect with auxiliaries is common for modern Indo-European languages. The present perfect (I have eaten) and the past perfect (I had eaten) both use “to have” (possession verb) as an auxiliary. That’s also the case for Portuguese, Spanish (although no longer with a possession sense), Catalan, Icelandic, Norwegian, Danish, Swedish, Greek, Albanian, Bulgarian, Macedonian, Romanian, and Amharic.
Some languages have both “to have” and “to be” depending on the type of the main verb. French, Italian, German and Dutch have “to be” for unaccusative verbs (including reflexive verbs and intransitive motion verbs, etc.) and “to have” for all other verbs.
Slavic languages, Armenian, and Indo-Iranian languages tend to use “to be” for the same effect. Also, many Bantu languages but only for the past perfect.
Some languages use a verb or particle derived from “to finish” or “already”, such as Arabic, Afrikaans, Meithei, Burmese, Karen, Thai, Lao, Khmer, Khmu, Malay, Indonesian, Sundanese, Javanese, Minangkabau, Aceh, Toba, Tagalog.
Note: not all languages share the same meanings when using the present or past perfect of English, even though the literal translations may be the same. In Portuguese “tenho comido” (lit. I have eaten) means “I have been eating [over and over again]”