Author: richter
Date: Tue Jul 16 04:38:26 2013
New Revision: 1503556

URL: http://svn.apache.org/r1503556
Log:
- hash order and exit adaption for Perl 5.18

Added:
    perl/embperl/trunk/test/cmp/includeerr2.htm518
Modified:
    perl/embperl/trunk/Changes.pod
    perl/embperl/trunk/Embperl.pm
    perl/embperl/trunk/Embperl/Syntax/HTML.pm
    perl/embperl/trunk/MANIFEST
    perl/embperl/trunk/Old.xs
    perl/embperl/trunk/epeval.c
    perl/embperl/trunk/epparse.c
    perl/embperl/trunk/test.pl
    perl/embperl/trunk/test/cmp/escape.htm
    perl/embperl/trunk/test/cmp/hidden.htm
    perl/embperl/trunk/test/cmp/include.htm

Modified: perl/embperl/trunk/Changes.pod
URL: 
http://svn.apache.org/viewvc/perl/embperl/trunk/Changes.pod?rev=1503556&r1=1503555&r2=1503556&view=diff
==============================================================================
--- perl/embperl/trunk/Changes.pod (original)
+++ perl/embperl/trunk/Changes.pod Tue Jul 16 04:38:26 2013
@@ -13,6 +13,12 @@
     - Fixed a refcounting problem cause message "Attempt to 
       free unreferenced scalar" during mod_perl startup
       with Perl 5.14.x
+    - Fix some dependencies on hash order inside the parser
+      which causes Embperl to fail with Perl >= 5.18 because
+      of hash randomisation.
+    - Changed the way exit passed through internaly, so it
+      works with Perl >= 5.18
+    - Adapted tests to Perl 5.18
     - Fix output inside of Registry script for mod_perl 2.0.4+
     - Fix problem with error output on stderr for Windows 64Bit
     - removed support for XALAN XML parser. It was outdated 

Modified: perl/embperl/trunk/Embperl.pm
URL: 
http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl.pm?rev=1503556&r1=1503555&r2=1503556&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl.pm (original)
+++ perl/embperl/trunk/Embperl.pm Tue Jul 16 04:38:26 2013
@@ -319,7 +319,7 @@ sub get_multipart_formdata
     foreach ( @$ffld )
        {
        # the param_fetch needs CGI.pm 2.43
-       $params = $cgi->param_fetch( $_ ) ;
+       $params = $cgi->param_fetch( -name => $_ ) ;
        #$params = $cgi->{$_} ;
        if ($#$params > 0)
            {

Modified: perl/embperl/trunk/Embperl/Syntax/HTML.pm
URL: 
http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Syntax/HTML.pm?rev=1503556&r1=1503555&r2=1503556&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Syntax/HTML.pm (original)
+++ perl/embperl/trunk/Embperl/Syntax/HTML.pm Tue Jul 16 04:38:26 2013
@@ -150,14 +150,14 @@ sub AddTag
 
 
     $self -> AddToRoot ({
-                        'HTML Tag' => {
+                        'A HTML Tag' => {
                             'text' => '<',
                             'end'  => '>',
                             }
-                        }) if (!exists $self -> {-root}{'HTML Tag'}) ;
+                        }) if (!exists $self -> {-root}{'A HTML Tag'}) ;
 
 
-    $self -> AddElement ('HTML Tag', @_) ;
+    $self -> AddElement ('A HTML Tag', @_) ;
     }
 
 

Modified: perl/embperl/trunk/MANIFEST
URL: 
http://svn.apache.org/viewvc/perl/embperl/trunk/MANIFEST?rev=1503556&r1=1503555&r2=1503556&view=diff
==============================================================================
--- perl/embperl/trunk/MANIFEST (original)
+++ perl/embperl/trunk/MANIFEST Tue Jul 16 04:38:26 2013
@@ -238,6 +238,7 @@ mod_embperl.c
 test.pl
 test/cmp/includeerr3.htm514
 test/cmp/includeerr2.htm514
+test/cmp/includeerr2.htm518
 test/cmp/error.htm514
 test/cmp/varerr.htm514
 test/cmp/Execute.htm

Modified: perl/embperl/trunk/Old.xs
URL: 
http://svn.apache.org/viewvc/perl/embperl/trunk/Old.xs?rev=1503556&r1=1503555&r2=1503556&view=diff
==============================================================================
--- perl/embperl/trunk/Old.xs (original)
+++ perl/embperl/trunk/Old.xs Tue Jul 16 04:38:26 2013
@@ -136,6 +136,7 @@ void
 embperl_exit(...)
 CODE:
     /* from mod_perl's perl_util.c */
+    /* does not work with Perl >= 5.18
     struct ufuncs umg;
 
     umg.uf_val = errgv_empty_set;
@@ -143,17 +144,18 @@ CODE:
     umg.uf_index = (IV)0;
 
     sv_magic(ERRSV, Nullsv, 'U', (char*) &umg, sizeof(umg));
+    */
 
     ENTER;
     SAVESPTR(diehook);
     diehook = Nullsv; 
     if (items > 0)
-        croak("request %d", SvIV(ST(0)));
+        croak(">embperl_exit< request %d", SvIV(ST(0)));
     else
-        croak("component");
+        croak(">embperl_exit< component");
     LEAVE; /* we don't get this far, but croak() will rewind */
 
-    sv_unmagic(ERRSV, 'U');
+    /* sv_unmagic(ERRSV, 'U'); */
 
 
 

Modified: perl/embperl/trunk/epeval.c
URL: 
http://svn.apache.org/viewvc/perl/embperl/trunk/epeval.c?rev=1503556&r1=1503555&r2=1503556&view=diff
==============================================================================
--- perl/embperl/trunk/epeval.c (original)
+++ perl/embperl/trunk/epeval.c Tue Jul 16 04:38:26 2013
@@ -556,7 +556,8 @@ int CallCV  (/*i/o*/ register req * r,
         STRLEN l ;
         char * p ;
 
-        if (SvMAGICAL (pSVErr) && mg_find (pSVErr, 'U'))
+        p = SvPV (pSVErr, l) ;
+        if (p && l > 14 && strncmp(p, ">embperl_exit<", 14) == 0)
             {
            /* On an Apache::exit call, the function croaks with error having 
'U' magic.
             * When we get this return, we'll just give up and quit this file 
completely,
@@ -572,7 +573,6 @@ int CallCV  (/*i/o*/ register req * r,
             if (r -> Component.Config.bDebug & dbgEval)
                 lprintf (r -> pApp,  "[%d]EVAL> exit called\n", r -> pThread 
-> nPid) ;
             
-            sv_unmagic(pSVErr,'U');
            sv_setpv(pSVErr,"");
 
            r -> Component.Config.bOptions |= optNoUncloseWarn ;
@@ -581,7 +581,6 @@ int CallCV  (/*i/o*/ register req * r,
             return rcExit ;
             }
 
-        p = SvPV (pSVErr, l) ;
         if (l > sizeof (r -> errdat1) - 1)
             l = sizeof (r -> errdat1) - 1 ;
         strncpy (r -> errdat1, p, l) ;
@@ -844,27 +843,26 @@ int CallStoredCV  (/*i/o*/ register req 
         STRLEN l ;
         char * p ;
 
-        if (SvMAGICAL (pSVErr) && mg_find (pSVErr, 'U'))
+        p = SvPV (pSVErr, l) ;
+        if (p && l > 14 && strncmp(p, ">embperl_exit<", 14) == 0)
             {
            /* On an Apache::exit call, the function croaks with error having 
'U' magic.
             * When we get this return, we'll just give up and quit this file 
completely,
             * without error. */
              
            /*struct magic * m = SvMAGIC (pSVErr) ;*/
-
             tDomTree * pDomTree = DomTree_self (r -> Component.xCurrDomTree) ;
             tIndex n = ArrayGetSize (r -> pApp, pDomTree -> pCheckpoints) ;
             if (n > 2)
                 DomTree_checkpoint (r, n-1) ;
 
             p = SvPV(ERRSV, l) ;
-            if (l > 0 && strncmp (p, "request ",8) == 0)
+            if (l > 0 && strncmp (p, ">embperl_exit< request ", 23) == 0)
                 r -> bExit = 1 ;
             
             if (r -> Component.Config.bDebug & dbgEval)
                 lprintf (r -> pApp,  "[%d]EVAL> %s exit called (%s)\n", r -> 
pThread -> nPid, r -> bExit?"request":"component", p?p:"") ;
             
-           sv_unmagic(pSVErr,'U');
            sv_setpv(pSVErr,"");
 
            r -> Component.Config.bOptions |= optNoUncloseWarn ;
@@ -873,7 +871,6 @@ int CallStoredCV  (/*i/o*/ register req 
             return rcExit ;
             }
 
-        p = SvPV (pSVErr, l) ;
         if (l > sizeof (r -> errdat1) - 1)
             l = sizeof (r -> errdat1) - 1 ;
         strncpy (r -> errdat1, p, l) ;

Modified: perl/embperl/trunk/epparse.c
URL: 
http://svn.apache.org/viewvc/perl/embperl/trunk/epparse.c?rev=1503556&r1=1503555&r2=1503556&view=diff
==============================================================================
--- perl/embperl/trunk/epparse.c (original)
+++ perl/embperl/trunk/epparse.c Tue Jul 16 04:38:26 2013
@@ -46,6 +46,17 @@ static int CmpToken (/*in*/ const void *
     }
     
 /* ------------------------------------------------------------------------ */
+/* compare tokens                                                           */
+/* ------------------------------------------------------------------------ */
+
+static int RevCmpToken (/*in*/ const void *  p1,
+                     /*in*/ const void *  p2)
+
+    {
+    return strcmp (*((const char * *)p2), *((const char * *)p1)) ;
+    }
+    
+/* ------------------------------------------------------------------------ */
 /* compare tokens for descending order                                      */
 /* ------------------------------------------------------------------------ */
 
@@ -81,6 +92,14 @@ static int CheckProcInfo      (/*i/o*/ r
     I32                    l    ;
     HV *            pHVProcInfo ;
     int             n ;
+    int             i ;
+    int             m ;
+    typedef struct tSortToken
+        {
+        char *     pKey ;
+        SV *       pSVValue ;
+        } tSortToken ;
+    tSortToken * pSortTokenHash ;    
     epTHX ;
     
     ppSV = hv_fetch(pHash, "procinfo", sizeof ("procinfo") - 1, 0) ;  
@@ -95,11 +114,28 @@ static int CheckProcInfo      (/*i/o*/ r
 
        pHVProcInfo = (HV *)SvRV (*ppSV) ;
 
-       hv_iterinit (pHVProcInfo ) ;
-       while ((pEntry = hv_iternext (pHVProcInfo)))
-           {
-           pKey     = hv_iterkey (pEntry, &l) ;
-           pSVValue = hv_iterval (pHVProcInfo , pEntry) ;
+        m = 0 ;
+        n = HvKEYS (pHVProcInfo) ;
+        pSortTokenHash = (tSortToken *)malloc (sizeof (struct tSortToken) * n) 
;
+        hv_iterinit (pHVProcInfo) ;
+        while ((pEntry = hv_iternext (pHVProcInfo)))
+            {
+            pKey     = hv_iterkey (pEntry, &l) ;
+            pSVValue   = hv_iterval (pHVProcInfo, pEntry) ;
+    
+            pSortTokenHash[m].pKey = pKey ;    
+            pSortTokenHash[m].pSVValue = pSVValue ;    
+            m++ ;
+            }
+    
+        qsort (pSortTokenHash, m, sizeof (struct tSortToken), RevCmpToken) ;
+    
+        i = 0 ;
+        while (i < m)
+            {
+            pKey     = pSortTokenHash[i].pKey ;
+            pSVValue   = pSortTokenHash[i].pSVValue ;
+            i++ ;
         
            if (pSVValue == NULL || !SvROK (pSVValue) || SvTYPE (SvRV 
(pSVValue)) != SVt_PVHV)
                {
@@ -227,7 +263,14 @@ int BuildTokenTable (/*i/o*/ register re
     I32                    l    ;
     STRLEN         len  ;
     int                    n ;
+    int             m ;
     int                    i ;
+    typedef struct tSortToken
+        {
+        char *     pKey ;
+        SV *       pToken ;
+        } tSortToken ;
+    tSortToken * pSortTokenHash ;    
     unsigned char * pStartChars = pTokenTable -> cStartChars ;
     unsigned char * pAllChars  = pTokenTable -> cAllChars ;
     epTHX ;
@@ -297,17 +340,37 @@ int BuildTokenTable (/*i/o*/ register re
            }
         }
 
-    n = 0 ;
+    m = 0 ;
+    n = HvKEYS (pTokenHash) ;
+    pSortTokenHash = (tSortToken *)malloc (sizeof (struct tSortToken) * n) ;
     hv_iterinit (pTokenHash) ;
     while ((pEntry = hv_iternext (pTokenHash)))
         {
+        pKey     = hv_iterkey (pEntry, &l) ;
+        pToken   = hv_iterval (pTokenHash, pEntry) ;
+
+        pSortTokenHash[m].pKey = pKey ;    
+        pSortTokenHash[m].pToken = pToken ;    
+        m++ ;
+        }
+
+    qsort (pSortTokenHash, m, sizeof (struct tSortToken), CmpToken) ;
+
+    n = 0 ;
+    i = 0 ;
+    while (i < m)
+        {
         HV *   pHash ;
        struct tTokenTable * pNewTokenTable ;
        char *  sContains ;
        char *  sC ;
         
-        pKey     = hv_iterkey (pEntry, &l) ;
-        pToken   = hv_iterval (pTokenHash, pEntry) ;
+        pKey     = pSortTokenHash[i].pKey ;
+        pToken   = pSortTokenHash[i].pToken ;
+        i++ ;
+           if (r -> Component.Config.bDebug & dbgBuildToken)
+                lprintf (r -> pApp,  "[%d]TOKENKey: %s\n", r -> pThread -> 
nPid, pKey) ; 
+        
        if (*pKey != '-')
            {
            if (!SvROK (pToken) || SvTYPE (SvRV (pToken)) != SVt_PVHV)
@@ -404,6 +467,8 @@ int BuildTokenTable (/*i/o*/ register re
            }
        }
 
+    free (pSortTokenHash) ;
+    
     qsort (pTable, numTokens - 1, sizeof (struct tToken), pTokenTable -> 
bLSearch?CmpTokenDesc:CmpToken) ;
 
 

Modified: perl/embperl/trunk/test.pl
URL: 
http://svn.apache.org/viewvc/perl/embperl/trunk/test.pl?rev=1503556&r1=1503555&r2=1503556&view=diff
==============================================================================
--- perl/embperl/trunk/test.pl (original)
+++ perl/embperl/trunk/test.pl Tue Jul 16 04:38:26 2013
@@ -422,9 +422,16 @@
         'errors'     => 3,
         'version'    => 2,
         'repeat'     => 2,
-        'condition'  => '$] >= 5.014000', 
+        'condition'  => '$] >= 5.014000 && $] < 5.018000', 
         'cmpext'     => '514',
         },
+    'includeerr2.htm' => { 
+        'errors'     => 9,
+        'version'    => 2,
+        'repeat'     => 2,
+        'condition'  => '$] >= 5.018000', 
+        'cmpext'     => '518',
+        },
     'includeerr3.htm' => { 
         'errors'     => 2,
         'condition'  => '$] < 5.014000', 
@@ -930,6 +937,7 @@
         'version'    => 2,
         'syntax'     => 'RTF',
         'offline'    => 1,
+        'condition'  => '$] < 5.018000', 
         'param'      => [
                         { 'adressen_anrede' => 'Herr', 'adressen_name' => 
'Richter', 'adressen_vorname'  => 'Gerald', anschreiben_typ => 'Dienstadresse', 
adressen_dienststelle => 'adr dienst', adressen_dienstbezeichnung => 'DBEZ', 
adressen_dienst_strasse => 'dstr 1', adressen_priv_strasse => 'pstr 1' },
                         { 'adressen_anrede' => 'Herr', 'adressen_name' => 
'Richter2', 'adressen_vorname'  => 'Gerald2', anschreiben_typ => 
'Dienstadresse', adressen_dienststelle => 'adr dienst 2', 
adressen_dienstbezeichnung => 'DBEZ2' },

Modified: perl/embperl/trunk/test/cmp/escape.htm
URL: 
http://svn.apache.org/viewvc/perl/embperl/trunk/test/cmp/escape.htm?rev=1503556&r1=1503555&r2=1503556&view=diff
==============================================================================
--- perl/embperl/trunk/test/cmp/escape.htm (original)
+++ perl/embperl/trunk/test/cmp/escape.htm Tue Jul 16 04:38:26 2013
@@ -41,17 +41,17 @@ LAYER:         <layer src="http://localhost/t
 IMG:      <img 
src="http://localhost/tests?id=abcdefghijklmnopqrstuvwxyz&text=This%20is%20a%20text%20%3F%20%26%20%2B%20-%20%2521";
     name="%20foo">
 FORM:     <form 
action="http://localhost/tests?id=abcdefghijklmnopqrstuvwxyz&text=This%20is%20a%20text%20%3F%20%26%20%2B%20-%20%2521";
     name="%20foo">
 
-Hash in  A <a href="http://localhost/tests?A=1&amp;B=2";>
-Array in A <a href="http://localhost/tests?X=9&amp;Y=8&amp;Z=7";>
+^Hash in  A <a href=\"http:\/\/localhost\/tests\?(A=1\&amp;B=2|B=2\&amp;A=1)\">
+^Array in A <a 
href=\"http:\/\/localhost\/tests\?(X=9|Y=8|Z=7)\&amp;(X=9|Y=8|Z=7)\&amp;(X=9|Y=8|Z=7)\">
 
-Hash in  H <a href="http://localhost/tests?A=1&amp;B=2";>
+^Hash in  H <a href=\"http:\/\/localhost\/tests\?(A=1\&amp;B=2|B=2\&amp;A=1)\">
 ^Array in H <a 
href=\"http\:\/\/localhost\/tests\?(X=9|Y=8|Z=7)\&amp;(X=9|Y=8|Z=7)\&amp;(X=9|Y=8|Z=7)\">
 
 
 ^<a href=\"tst.html\?(par1=1|par2=2)&amp;(par1=1|par2=2)\">1<\/a>
-^<a href=\"tst.html\?(par1=1&amp;par2=2|par2=2&amp;par1=1)&amp;par3=3\">2<\/a>
-<a href="tst.html?par1=1&amp;par2=2">3</a>
-<a href="tst.html?par1=1&amp;par2=2&amp;par3=3">4</a>
+^<a 
href=\"tst.html\?(par1=1&amp;par2=2&amp;par3=3|par2=2&amp;par1=1&amp;par3=3|par2=2&amp;par3=3&amp;par1=1|par1=1&amp;par3=3&amp;par2=2|par3=3&amp;par2=2&amp;par1=1|par3=3&amp;par1=1&amp;par2=2)\">2<\/a>
+^<a href=\"tst.html\?(par1=1&amp;par2=2|par2=2&amp;par1=1)\">3</a>
+^<a 
href=\"tst.html\?(par1=1&amp;par2=2&amp;par3=3|par2=2&amp;par1=1&amp;par3=3|par2=2&amp;par3=3&amp;par1=1|par1=1&amp;par3=3&amp;par2=2|par3=3&amp;par2=2&amp;par1=1|par3=3&amp;par1=1&amp;par2=2)\">4</a>
 
 
                

Modified: perl/embperl/trunk/test/cmp/hidden.htm
URL: 
http://svn.apache.org/viewvc/perl/embperl/trunk/test/cmp/hidden.htm?rev=1503556&r1=1503555&r2=1503556&view=diff
==============================================================================
--- perl/embperl/trunk/test/cmp/hidden.htm (original)
+++ perl/embperl/trunk/test/cmp/hidden.htm Tue Jul 16 04:38:26 2013
@@ -9,10 +9,10 @@
     <p>&nbsp;</p>
 
        a1<input type="hidden" name="feld1" value="Wert1"><input type="hidden" 
name="feld2" value="Wert2"><input type="hidden" name="feld3" 
value="Wert3"><input type="hidden" name="feld4" value="Wert4?foo=bar">
-       a2<input type="hidden" name="feld1" value="Pfalz"><input type="hidden" 
name="feld2" value="Rhein&quot;hessen&quot;&amp;Pfalz">
+^      a2(<input type=\"hidden\" name=\"feld1\" value=\"Pfalz\"><input 
type=\"hidden\" name=\"feld2\" 
value=\"Rhein&quot;hessen&quot;&amp;Pfalz\">|<input type=\"hidden\" 
name=\"feld2\" value=\"Rhein&quot;hessen&quot;&amp;Pfalz\"><input 
type=\"hidden\" name=\"feld1\" value=\"Pfalz\">)
        a3<input type="hidden" name="feld2" 
value="Rhein&quot;hessen&quot;&amp;Pfalz">
        a4<input type="hidden" name="feld2" 
value="Rhein&quot;hessen&quot;&amp;Pfalz">
-       a5<input type="hidden" name="feld1" value="Pfalz"><input type="hidden" 
name="feld2" value="Rhein&quot;hessen&quot;&amp;Pfalz">
+^      a5(<input type=\"hidden\" name=\"feld1\" value=\"Pfalz\"><input 
type=\"hidden\" name=\"feld2\" 
value=\"Rhein&quot;hessen&quot;&amp;Pfalz\">|<input type=\"hidden\" 
name=\"feld2\" value=\"Rhein&quot;hessen&quot;&amp;Pfalz\"><input 
type=\"hidden\" name=\"feld1\" value=\"Pfalz\">)
        a6<input type="hidden" name="feld2" 
value="Rhein&quot;hessen&quot;&amp;Pfalz">
        a7<input type="hidden" name="feld2" 
value="Rhein&quot;hessen&quot;&amp;Pfalz">
        a8<input type="hidden" name="feld4" value="Wert4?foo=bar"><input 
type="hidden" name="feld3" value="Wert3"><input type="hidden" name="feld2" 
value="Wert2"><input type="hidden" name="feld1" value="Wert1">

Modified: perl/embperl/trunk/test/cmp/include.htm
URL: 
http://svn.apache.org/viewvc/perl/embperl/trunk/test/cmp/include.htm?rev=1503556&r1=1503555&r2=1503556&view=diff
==============================================================================
--- perl/embperl/trunk/test/cmp/include.htm (original)
+++ perl/embperl/trunk/test/cmp/include.htm Tue Jul 16 04:38:26 2013
@@ -43,7 +43,7 @@
 
<P><table><tr><td>fdat1</td><td>text1</td></tr><tr><td>test1</td><td>value1</td></tr></table></P>
 <H1> 7b.) Presetup \%fdat</H1>
 
-<P><table><tr><td>fdat2</td><td>text2</td></tr><tr><td>test2</td><td>value2</td></tr></table></P>
+^<P><table><tr><td>(fdat2<\/td><td>text2<\/td><\/tr><tr><td>test2<\/td><td>value2|test2<\/td><td>value2<\/td><\/tr><tr><td>fdat2<\/td><td>text2)<\/td><\/tr><\/table><\/P>
 <H1> 7c.) Presetup  \@ffld</H1>
 
 <P><table></table></P> @ffld = fdat3 test3

Added: perl/embperl/trunk/test/cmp/includeerr2.htm518
URL: 
http://svn.apache.org/viewvc/perl/embperl/trunk/test/cmp/includeerr2.htm518?rev=1503556&view=auto
==============================================================================
--- perl/embperl/trunk/test/cmp/includeerr2.htm518 (added)
+++ perl/embperl/trunk/test/cmp/includeerr2.htm518 Tue Jul 16 04:38:26 2013
@@ -0,0 +1,71 @@
+<HTML><HEAD><TITLE>Embperl Error</TITLE></HEAD><BODY bgcolor="#FFFFFF">
+<H1>Internal Server Error</H1>
+The server encountered an internal error or misconfiguration and was unable to 
complete your request.<P>
+^Please contact the server administrator,.*?and inform them of the time the 
error occurred, and anything you might have done that may have caused the 
error.<P><P>
+<table cellspacing='2' cellpadding='5'>
+<tr bgcolor='#eeeeee'><td>
+<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+^\[\d+\]ERR:  32:  Warning in Perl code: Use of uninitialized value 
\$Embperl::__\d+::param\[0\] in concatenation \(\.\) or string at .+incsub.htm 
line 6.
+<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+</td></tr>
+<tr bgcolor='#eeeeee'><td>
+<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+^\[\d+\]ERR:  32:  Warning in Perl code: Use of uninitialized value 
\$Embperl::__\d+::param\[0\] in concatenation \(\.\) or string at .+incsub.htm 
line 6.
+<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+</td></tr>
+<tr bgcolor='#eeeeee'><td>
+<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+^\[\d+\]ERR:  32:  Warning in Perl code: Use of uninitialized value 
\$Embperl::__\d+::param\[0\] in concatenation \(\.\) or string at .+incsub.htm 
line 6.
+<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+</td></tr>
+<tr bgcolor='#eeeeee'><td>
+<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+^\[\d+\]ERR:  32:  Warning in Perl code: Use of uninitialized value 
\$Embperl::__\d+::param\[0\] in concatenation \(\.\) or string at .+incsub.htm 
line 6.
+<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+</td></tr>
+<tr bgcolor='#eeeeee'><td>
+<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+^\[\d+\]ERR:  24:  Error in Perl code: Can't locate object method 
&quot;is&quot; via package &quot;here&quot; \(perhaps you forgot to load 
&quot;here&quot;\?\) at .+incerr.htm line 6.
+<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+</td></tr>
+<tr bgcolor='#eeeeee'><td>
+<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+^\[\d+\]ERR:  32:  Warning in Perl code: Unquoted string &quot;table&quot; may 
clash with future reserved word at .+incerr.htm line 6.
+<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+</td></tr>
+<tr bgcolor='#eeeeee'><td>
+<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+^\[\d+\]ERR:  32:  Warning in Perl code: Unquoted string &quot;td&quot; may 
clash with future reserved word at .+incerr.htm line 8.
+<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+</td></tr>
+<tr bgcolor='#eeeeee'><td>
+<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+^\[\d+\]ERR:  24:  Error in Perl code: syntax error at .+line 4, near 
&quot;\+\]&quot;
+^<br>&nbsp;&nbsp;&nbsp;&nbsp;Unknown regexp modifier &quot;\/t&quot; at 
+^<br>&nbsp;&nbsp;&nbsp;&nbsp;  \(Might be a runaway multi-line \/\/ string 
starting on line 10\)
+^<br>&nbsp;&nbsp;&nbsp;&nbsp;Unknown regexp modifier &quot;\/r&quot; at 
+<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+</td></tr>
+<tr bgcolor='#eeeeee'><td>
+<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+^\[\d+\]ERR:  32:  Warning in Perl code: Unquoted string &quot;table&quot; may 
clash with future reserved word at .+incerr.htm line 6.
+<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+</td></tr>
+<tr bgcolor='#eeeeee'><td>
+<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+^\[\d+\]ERR:  32:  Warning in Perl code: Unquoted string &quot;td&quot; may 
clash with future reserved word at .+incerr.htm line 8.
+<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+</td></tr>
+<tr bgcolor='#eeeeee'><td>
+<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+^\[\d+\]ERR:  24:  Error in Perl code: syntax error at .+line 4, near 
&quot;\+\]&quot;
+^<br>&nbsp;&nbsp;&nbsp;&nbsp;Unknown regexp modifier &quot;\/t&quot; at 
+^<br>&nbsp;&nbsp;&nbsp;&nbsp;  \(Might be a runaway multi-line \/\/ string 
starting on line 10\)
+^<br>&nbsp;&nbsp;&nbsp;&nbsp;Unknown regexp modifier &quot;\/r&quot; at 
+<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+</td></tr>
+</table>
+<br>
+^Embperl
+</BODY></HTML>
+



---------------------------------------------------------------------
To unsubscribe, e-mail: embperl-cvs-unsubscr...@perl.apache.org
For additional commands, e-mail: embperl-cvs-h...@perl.apache.org

Reply via email to