Logo

Programming-Idioms

  • Perl
  • Lisp
  • C

Idiom #182 Quine program

Output the source of the current program. A quine is a computer program that takes no input and produces a copy of its own source code as its only output.

Reading the source file from disk is cheating.

main(p){printf(p="main(p){printf(p=%c%s%1$c,34,p);}",34,p);}
int main(){char*s="int main(){char*s=%c%s%c;printf(s,34,s,34);return 0;}";printf(s,34,s,34);return 0;}
$_=q(print"\$_=q($_);eval;");eval;

Assigns a string with valid Perl code and then evaluates it. Original author unknown, probably dates back to Usenet days.
public class Quine{public static void Main(){var s="public class Quine{{public static void Main(){{var s={0}{1}{0};System.Console.Write(s,(char)34,s);}}}}";System.Console.Write(s,(char)34,s);}}

New implementation...
< >
a