HAHAHA, sorry but your post reminded me of the '99 Subaru I had for over 9 years. Its check engine light was on more than it was off, and every time it was the loose gas cap code. In all that time I only had the check engine light turn itself off once, and every time I filled up I made sure to get the three clicks from the gas cap that Subaru says to get. It's a common fault of Subarus around that time. I would periodically reset it and it would be fine for a few months, then it'd come back again, I'd pull the code and it would be the same gas cap code again.
Like I said it was on more than it was off and I just learned to live with it. Now if the light starts to blink, that's when there's something mechanically wrong and you need to pull over right away. I had that happen to me once (spark plug wire went bad causing misfires), and I didn't need a blinking light to tell me something was wrong b/c the whole car would surge and shake