|laziness, impatience, and hubris|
Sounds like you just have a bad elitist.
You might also have a bad attitude (or that might just be a response to the bad attitude of your bad elitist -- I can't tell from here).
If the two of you can't effectively communicate to the point that you understand much of the benefit of the 150-lines-worth of extra code he wrote (if there is any), then that is the most important problem.
Since he is acting like the senior developer, then he probably is at least partially to blame for being ineffective as a mentor. If you don't have a manager (or higher) with whom you could effectively discuss that problem, then my next step would be to start looking for a new job. I've worked a lot of places but I've never had to put up with that kind of poor communication for very long.
There are certainly programmers who overly complicate tasks to little benefit. Even worse are those who overly complicate designs to much detriment.
But there can also be a lot of benefits to applying good "best practices", especially in the long run. And my experience is that best practices don't make code take up even close to 4x as many lines. That is, unless the "best practices" are very poorly applied or the no-best-practices code is actually an overly-compact mess. Nor do they make code significantly slower to develop (and they tend to make code much faster to maintain, in the long run -- which is really the point).
In reply to Re: Perl Elitist Code vs Functional Code (attitude)