Strict C compilers (tendra in default mode, gcc with -pedantic-errors) refuse to compile this, because while char v[]="..."; is valid, char v[]=("..."); is not. I haven't yet figured out what the third language is, if you don't mean C++, so I'm not sure if this breaks that, but my simple suggestion to resolve this is:
Instead of
#define q char w=0,v[]=
you can use
#define q(x) char w=0,v[]=x
It doesn't affect the output with less strict C compilers (gcc in default mode, icc), nor does it affect the output as a Perl script.
HTH
Update: I see now that the output is different when compiled as C++ instead of C ("only" instead of "true"), so it must be that that was what you meant.
In reply to Re: Christmas poem since 1988
by truedfx
in thread Christmas poem since 1988
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |