The placement of only has nothing to do with the present perfect construction, but with the placement of the focus NP that only binds. Here's what McCawley (p.68) says about it:
There are a number of words in English (only, even, too, also) that are associated with a focus: an item that is implicitly contrasted with other items, as in John drinks only beer, where only serves to contrast beer with such other items as wine, vodka, and so on. Only usually precedes its focus, but need not immediately precede it; for example, John only drinks beer can be intrepreted with beer as focus even though only is separated from it by drinks.
Basically, the rule is that only must bind some focussed item (word, phrase, or clause) that comes after it. This focus must have primary stress (He only drinks beer).
Only may appear
- either immediately before the focus,
- or immediately before the first word of a constituent that contains the focus.
The reason why John only drinks beer can be interpreted with beer as focus is because drinks is the first word in a Verb Phrase (drinks beer) that contains beer. It can also be interpreted with drinks as focus (as opposed to, say, brews or sells), or with the whole VP drinks beer as focus (as opposed to, say, smokes pot or gambles).