Hi,
Here is another weird thing. I'm use MySQL database for Embperl session persistence. On one of my PCs, the %udat works for Netscape 4.x but won't works for IE5. So, I wrote a small test script to isolate the problem:
[+ $udat{test}++ +]
Under Netscape4.x, it showed 0, 1, 2, 3,...etc. I inspected into the table "sessions" and found only one row, ie. session id. This is correct.
But under IE5.0, it showed 0, 0, 0, 0, .... etc. In this case, i found Embperl inserted a row per session into table "sessions", each with different session id.
More weird, on another Windows 98 PC of mine, it worked for both browsers with the same test script. I cannot see any difference between configurations of the two PCs.
Could you please advise me where might be wrong or any trouble shooting techniques? Thanks a lot.
Best Regards,
Huang-Ming
----- Original Message -----
From: Gerald Richter
To: Hello ; Embperl@Perl. Apache. Org
Sent: Monday, May 01, 2000 3:22 AM
Subject: RE: PERL string terminator with Carriage Return...
i'm sorry. embperl does remove '\r' on line 247 of eputil.c.
but actually it replaces it with a space, ' '. this makes a PERL string terminator, for example "END\r\n' become "END \n", thus still makes PERL compile to error.
Yes, when I wrote my last answer I were in great hurry and didn't tought enought about your problem.
i downloaded most up-to-date embperl, version 1.3b3. and it remains the same handling and the same error result.
Replaceing with space is much faster, then removing the \r and the HERE documents are the only place were this really is a problem.
so i could not but change line 247 of eputil.c to
*ep++ = '\n';
by myself and found it finally works!!
however, i perfer to complete removal of \r rather than replacement.
I will keep this in mind for the new Embperl 2 version, for now use the solution which Kee already pointed out, by using qq[ ].
Gerald
Here is another weird thing. I'm use MySQL database for Embperl session persistence. On one of my PCs, the %udat works for Netscape 4.x but won't works for IE5. So, I wrote a small test script to isolate the problem:
[+ $udat{test}++ +]
Under Netscape4.x, it showed 0, 1, 2, 3,...etc. I inspected into the table "sessions" and found only one row, ie. session id. This is correct.
But under IE5.0, it showed 0, 0, 0, 0, .... etc. In this case, i found Embperl inserted a row per session into table "sessions", each with different session id.
More weird, on another Windows 98 PC of mine, it worked for both browsers with the same test script. I cannot see any difference between configurations of the two PCs.
Could you please advise me where might be wrong or any trouble shooting techniques? Thanks a lot.
Best Regards,
Huang-Ming
----- Original Message -----
From: Gerald Richter
To: Hello ; Embperl@Perl. Apache. Org
Sent: Monday, May 01, 2000 3:22 AM
Subject: RE: PERL string terminator with Carriage Return...
i'm sorry. embperl does remove '\r' on line 247 of eputil.c.
but actually it replaces it with a space, ' '. this makes a PERL string terminator, for example "END\r\n' become "END \n", thus still makes PERL compile to error.
Yes, when I wrote my last answer I were in great hurry and didn't tought enought about your problem.
i downloaded most up-to-date embperl, version 1.3b3. and it remains the same handling and the same error result.
Replaceing with space is much faster, then removing the \r and the HERE documents are the only place were this really is a problem.
so i could not but change line 247 of eputil.c to
*ep++ = '\n';
by myself and found it finally works!!
however, i perfer to complete removal of \r rather than replacement.
I will keep this in mind for the new Embperl 2 version, for now use the solution which Kee already pointed out, by using qq[ ].
Gerald