Submitted by: Philippe 'BooK' Bruhat
E-mail:       Philippe.Bruhat@francemel.com
Category:     1 (Prints "The Perl Journal")

Solution:     This program can also compete
              in category 4. gcc 2.7.2.3 is
              able to compile it. When this
              runs as a C program, it spits
              "Hello, world!", instead of "
              The Perl journal". It is much
              too easy for OPC 4 and cannot
              compete with real obfuscators

This program can be run in two ways:
 1) perl hello.c
 2) gcc -o hello hello.c ; ./hello

Commented source:

1-#include <stdio.h> /*
  ^Perl comment      ^C comment                  
2-END { main() } sub #*/
                     ^Perl comment hiding
                      ^end of C comment
  The 'END' statement will run the 'main' sub
  for the Perl version of the script.
  In this bit of code, we start the defintion
  of Perl subroutine 'main'
3-main() {
4-    int q; char qq[] = "Hello, world!\n"; ;
          ^int not used in the C program
      ^int() on a quoted string (issues a warning)
       in a void context
          ^single-quoted string hiding a bit of C
     end of Perl command (void context in C)^
5-    printf(qq/*\bThe Perl Journal\n/#*/
               ^C comment including a ^Perl comment,
                thus allowing to close the C comment
             ^double-quoted string which Perl prints
                 ^backspace which allows/hides the opening of /* comments
                                     ^closing of the double-quoted Perl string
                                        ^closing C comment
             ^qq is the C string which will be printed
6-          );
            ^end of function call
7-} 
  ^end of main() function/subroutine
