Apparently these are called "ouroboros programs". <a href="http://asiajin.com/blog/2009/09/22/uroboros-programming-with-11-programming-languages/" rel="nofollow">http://asiajin.com/blog/2009/09/22/uroboros-programming-with...</a> (which serves an empty page to me right now) used to have a period-11 cycle of programs. I wrote a period-3 program (<a href="http://www.stratigery.com/source.html#Ouroboros" rel="nofollow">http://www.stratigery.com/source.html#Ouroboros</a>).
<a href="http://golf.shinh.org/reveal.rb?Quine/shinh+%28C+C%2B%2B+Ruby+Python+PHP+Perl%29_1194650418&rb" rel="nofollow">http://golf.shinh.org/reveal.rb?Quine/shinh+%28C+C%2B%2B+Rub...</a><p>Here is a 396 byte C program that prints a C++ program that prints a Ruby program that prints a Python program that prints a PHP program that prints a Perl program, that prints the original C program.<p>Coincidentally that program is the same in all languages :) it is a polygot. This is definitely a much harder problem than just cycling through the languages...