Note the gotcha about newlines in the elements of PL_preambleav.
Nicholas Clark [Sat, 15 Sep 2007 17:54:04 +0000 (17:54 +0000)]
p4raw-id: //depot/perl@31871

intrpvar.h

index f572fdd..a6a4a1c 100644 (file)
@@ -349,6 +349,10 @@ PERLVAR(Ilastfd,   int)            /* what to preserve mode on */
 PERLVAR(Ioldname,      char *)         /* what to preserve mode on */
 PERLVAR(IArgv,         char **)        /* stuff to free from do_aexec, vfork safe */
 PERLVAR(ICmd,          char *)         /* stuff to free from do_aexec, vfork safe */
+/* Elements in this array have ';' appended and are injected as a single line
+   into the tokeniser. You can't put any (literal) newlines into any program
+   you stuff in into this array, as the point where it's injected is expecting
+   a single physical line. */
 PERLVAR(Ipreambleav,   AV *)
 PERLVAR(Imess_sv,      SV *)
 PERLVAR(Iors_sv,       SV *)           /* output record separator $\ */