My D metaprogramming version of this code has just been posted. Useless, but fun. Enjoy. http://www.99-bottles-of-beer.net/language-d-1212.html Compile with: dmd -c -o- beer.d (Compare with the highly-rated C/C++ preprocessor version, which isn't even correct (it gets the capitalisation of 'no more' wrong in the second last verse)).