Which is correct (* him or he)?

-The old man is satisfied for has won the battle between*him and the marlin.
(Is it correct to say "has won" for the sentence above?)

Yes, "him" and "has won" are correct.

I sure hope you'll insert the missing "he" in that sentence. Do you see where it's needed?

The sentence "The old man is satisfied for has won the battle between * him and the marlin" is incorrect. The correct pronoun to use in this case is "he."

To determine whether "has won" is the correct verb tense, we need to consider the time frame in which the action takes place. If the old man has already won the battle between him and the marlin, then the correct verb tense to use is the past tense. Therefore, the correct sentence would be: "The old man is satisfied for he won the battle between him and the marlin."

If the action is still ongoing or happened very recently, you could use the present perfect tense: "The old man is satisfied for he has won the battle between him and the marlin." However, in most contexts, the simple past tense is more appropriate.