I like the proof by Paul Monsky: 'Simplifying the Proof of Dirichlet's Theorem' American Mathematical Monthly, Vol. 100 (1993), pp. 861-862. Naturally this does maintain the distinction between real and complex as whatever you do, the complex case always seems to be easier as one would have two vanishing L-functions for the price of one. I incorporated this argument into my note on a "real-variable" proof of Dirichlet's theorem at http://secamlocal.ex.ac.uk/people/staff/rjchapma/etc/dirichlet.pdf .