Being a perfectionist is difficult. You see through all the tiny imperfections in everything around you. I am a perfectionist, and I know how hard it can be to try to achieve constant perfection in everything.
The more I try to push for perfection, the more elusive it seems. I always find scopes of improvement in whatever I do — be it cooking or writing or coding or teaching. I feel the urge to improve on my previous attempts, I feel the need to know more and do better. Even with my best efforts, I feel like I achieve near-perfection, but never complete perfection. And, that is good. That is a big motivating factor in everything I do.
The pursuit of perfection makes me an extremely technical person at the core. I try to understand the cogs and wheels behind everything I come across, be it a new cuisine, a new language, a new psychological trait, a new gesture of the neighbourhood dog or whatever you can name. This helps me get to the root of things and try to understand everything from the ground up, resulting in fine-grained strategies in everything that I do in life.
On the other hand, (and this may sound somewhat contrary) I shall not be happy if I ever think to have achieved perfection in anything. I shall interpret that as a sign of saturation and stagnation. Not having the scope of further improvements is tantamount to lifelessness.
To me, perfection is a relative concept, not absolute. Anything absolute is achievable, at least theoretically, and has an end. My idea of perfection in anything changes relative to my achievements in that field — the more I get better at something, the farther the boundary of perfection moves away.
Do not turn your perfection into an absolute. Keep it a moving target.