You are viewing a plain text version of this content. The canonical link for it is here.
Posted to embperl@perl.apache.org by Gerald Richter <ri...@ecos.de> on 2000/04/29 14:20:51 UTC

RE: PERL string terminator with Carriage Return...


  Everything is ok except when I use the following Perl string terminator
construct:
    [+
    print <<END;
    111111111111
    222222222222
    END
    +]
  Embperl complains with:
    [2310]ERR: 24: Line 10: Error in Perl code: (in cleanup) Can't find
string terminator "
        END" anywhere before EOF at /usr/local/apache/htdocs/test.htm line
11.

  When I dig into the file source with vi, there is a  ^M (ie.
CarriageReturn) immediately following "END". I think Perl won't allow
anything execpt LineFeed (0A) to follow the string terminator, END here.

Embperl already removes the CR from your source (because Perl 5.004 don't
like CR's at all).

Does it change anything when you put the block [- $optRawInput = 1 -] before
the above code? or you can write &lt;&lt; instead of the <<. Otherwise
Embperl will treat the << as the start of an HTML tag and removes the rest
of the block. This is done to get rid of unwanted HTML tags e.g. <BR> that
are inserted by FrontPage or other editors in your perl code.

Gerald

P.S. Support for Embperl has moved from modperl to embperl mailing list







   But I cannot change Composer or Frontpage anyway. Is there any remedy I
can do to drop the annoying ^M on the fly during Embperl parsing phase? Has
anyone else ever reported such a problem? I used to using X-window version
of Composer and never found such problem.

  I cannot but edit my web pages on Win/98 and use Samba server because
there is no way to edit Chinese characters on Linux X-window.

  Please advise on this. Thanks a lot.

  Best Regards,

  Huang-Ming


    ----- Original Message -----
    From: Gerald Richter
    To: seednet
    Sent: Monday, February 21, 2000 3:28 AM
    Subject: RE: Chinese char input problem...


    Hi,

    sorry, I missed this mail, so my answer is coming very late.

    Also your idea of a familiy site sounds interesting to me, it currently
doesn't fit in the things we do. We also currently don't have the men power
to do further developement on that.

    Sorry

    Gerald
    -------------------------------------------------------------
    Gerald Richter    ecos electronic communication services gmbh
    Internetconnect * Webserver/-design/-datenbanken * Consulting

    Post:       Tulpenstrasse 5         D-55276 Dienheim b. Mainz
    E-Mail:     richter@ecos.de         Voice:    +49 6133 925151
    WWW:        http://www.ecos.de      Fax:      +49 6133 925152
    -------------------------------------------------------------






    -------------------------------------------------------------
    Gerald Richter    ecos electronic communication services gmbh
    Internetconnect * Webserver/-design/-datenbanken * Consulting

    Post:       Tulpenstrasse 5         D-55276 Dienheim b. Mainz
    E-Mail:     richter@ecos.de         Voice:    +49 6133 925151
    WWW:        http://www.ecos.de      Fax:      +49 6133 925152
    -------------------------------------------------------------






Re: PERL string terminator with Carriage Return...

Posted by Hello <pa...@ksts.seed.net.tw>.
all the lines including the second END sentance start on column #1. i should
not indent it in my email.

thanks anyway.

regards,
huang-ming
----- Original Message -----
From: Wim Kerkhoff <wi...@netmaster.com>
To: Hello <pa...@ksts.seed.net.tw>
Cc: Embperl@Perl. Apache. Org <em...@perl.apache.org>
Sent: Sunday, April 30, 2000 3:01 AM
Subject: Re: PERL string terminator with Carriage Return...


>
> On 29-Apr-2000 Hello wrote:
> [# snip #]
>
> >       [+
> >       print <<END;
> >       111111111111
> >       222222222222
> >       END
> >       +]
> >     Embperl complains with:
> >       [2310]ERR: 24: Line 10: Error in Perl code: (in cleanup) Can't
find
> > string terminator "
> >           END" anywhere before EOF at /usr/local/apache/htdocs/test.htm
line
> > 11.
>
> Just to make sure... the second END has to be the first character in the
> sentance... Otherwise you will get that error.
>
> Just making sure, in case it wasn't just your mail program that indented
it
> like that above.
>
> Regards,
>
> Wim Kerkhoff, Software Engineer
> NetMaster Networking Solutions
> wim@netmaster.com
>


Re: PERL string terminator with Carriage Return...

Posted by Wim Kerkhoff <wi...@netmaster.com>.
On 29-Apr-2000 Hello wrote:
[# snip #]

>       [+
>       print <<END;
>       111111111111
>       222222222222
>       END
>       +]
>     Embperl complains with:
>       [2310]ERR: 24: Line 10: Error in Perl code: (in cleanup) Can't find
> string terminator " 
>           END" anywhere before EOF at /usr/local/apache/htdocs/test.htm line
> 11.

Just to make sure... the second END has to be the first character in the
sentance... Otherwise you will get that error.

Just making sure, in case it wasn't just your mail program that indented it
like that above.

Regards,

Wim Kerkhoff, Software Engineer
NetMaster Networking Solutions
wim@netmaster.com

Re: PERL string terminator with Carriage Return...

Posted by Hello <pa...@ksts.seed.net.tw>.
Hi,

Thank you for the reply.

Adding [- $optRawInput = 1 -] did not make things better but worse. It generates more runtime errors.

I think you might have misunderstood my problem. The point of trouble is at the second END instead of the first one.

I'm sure that Embperl (I'm using version 1.2b9) does NOT remove CRs from page sources. This is because it runs good when I use vi to remove the CR immediately after the second 'END'. But manual removal of CR is, after all, not the solution.

Which version of Embperl removes CR? 

Thanks.

Huang-Ming
  ----- Original Message ----- 
  From: Gerald Richter 
  To: Hello ; Embperl@Perl. Apache. Org 
  Sent: Saturday, April 29, 2000 8:20 PM
  Subject: RE: PERL string terminator with Carriage Return...




    Everything is ok except when I use the following Perl string terminator construct:
      [+
      print <<END;
      111111111111
      222222222222
      END
      +]
    Embperl complains with:
      [2310]ERR: 24: Line 10: Error in Perl code: (in cleanup) Can't find string terminator " 
          END" anywhere before EOF at /usr/local/apache/htdocs/test.htm line 11.

    When I dig into the file source with vi, there is a  ^M (ie. CarriageReturn) immediately following "END". I think Perl won't allow anything execpt LineFeed (0A) to follow the string terminator, END here. 

  Embperl already removes the CR from your source (because Perl 5.004 don't like CR's at all). 

  Does it change anything when you put the block [- $optRawInput = 1 -] before the above code? or you can write &lt;&lt; instead of the <<. Otherwise Embperl will treat the << as the start of an HTML tag and removes the rest of the block. This is done to get rid of unwanted HTML tags e.g. <BR> that are inserted by FrontPage or other editors in your perl code.

  Gerald

  P.S. Support for Embperl has moved from modperl to embperl mailing list 


Re: PERL string terminator with Carriage Return...

Posted by Kee Hinckley <na...@somewhere.com>.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

At 7:58 PM +0800 4/30/00, Hello wrote:
>this is important to me because i get used to dividing a long MySQL 
>SQL statement into several lines and terminating them by a 
>terminator "END", for example,
>
>my $st=$db->mysql(<<END);
>SELECT album.* ,album.oid AS oid2,uinfo.name,uinfo.user, uinfo.gid, 
>uinfo.frs, count(alobj.oid) AS nobj,
>    (unix_timestamp()-unix_timestamp(album.birth)<$ndays*24*60*60) AS new
>    FROM  uinfo, album LEFT OUTER JOIN alobj USING (aid)
>    WHERE kind='$fdat{kind}' $search AND ($pref)
>    AND album.oid=uinfo.id
>    GROUP BY album.aid
>    LIMIT $fdat{limit}
>END

This isn't a fix to the bug, but I recently picked up another way of 
doing this which works much the same way and is a little cleaner:

my $st=$db->mysql(qq[
SELECT album.* ,album.oid AS oid2,uinfo.name,uinfo.user, uinfo.gid, 
uinfo.frs, count(alobj.oid) AS nobj,
    (unix_timestamp()-unix_timestamp(album.birth)<$ndays*24*60*60) AS new
    FROM  uinfo, album LEFT OUTER JOIN alobj USING (aid)
    WHERE kind='$fdat{kind}' $search AND ($pref)
    AND album.oid=uinfo.id
    GROUP BY album.aid
    LIMIT $fdat{limit}
]);
- -- 

Kee Hinckley - Somewhere Consulting Group - Cyberspace Architects(rm)

I'm not sure which upsets me more: that people are so unwilling to accept
responsibility for their own actions, or that they are so eager to regulate
everyone else's.

-----BEGIN PGP SIGNATURE-----
Version: PGPfreeware 6.5.2 for non-commercial use <http://www.pgp.com>

iQA/AwUBOQw7NiZsPfdw+r2CEQI7iQCgr7q/moTHNaDQ4zvkQUoPvJfDI84Amwb/
TFY8dhAlYbDO1qU+ETegkK4A
=+lcX
-----END PGP SIGNATURE-----

Re: %udat persistence problem...S.O.S.

Posted by Vladimir Ivaschenko <ha...@cyp.maks.net>.
Early MSIE 5 had known bugs with cookies.

 0 Gerald Richter wrote about "RE: %udat persistence problem...S.O.S.":

> 
>   [+ $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.
> 
> Looks like cookies are disabled on the IE 5 that doesn't work.
> 
> Gerald
> 

Re: %udat persistence problem...S.O.S.

Posted by Hello <pa...@ksts.seed.net.tw>.
never mind.

i turned to $req_rec->hostname() and it finally returned what i wanted, 123.99.88.77. 

related API document can be found on the book, "Writing Apache modules with Perl and C".

thanks anyway.

huang-ming

----- Original Message ----- 
From: ___cliff rayman___ <cl...@genwax.com>
To: Hello <pa...@ksts.seed.net.tw>; <mo...@apache.org>
Sent: Thursday, June 01, 2000 10:47 AM
Subject: Re: %udat persistence problem...S.O.S.


> your right - sorry.
> i hadn't tried it - i was reading Apache Modules and did not
> read it correctly.
> i also tried variations of Apache::URI parse to get a hostname,
> but that did not seem to work on my development server.  it is
> back several revs however.
> cliff
> 
> Hello wrote:
> 
> > thanks a lot. but, does the_request() contain the host part (ie.
> > 123.99.88.77 for my case) of entered URL? it seems to contain only
> > method, uri, and protocol only. huang-ming----- Original Message
> > -----From: ___cliff rayman___ <cl...@genwax.com>To: Hello!
> > <pa...@ksts.seed.net.tw>; <mo...@apache.org>Sent: Thursday, June
> > 01, 2000 8:24 AMSubject: Re: %udat persistence problem...S.O.S. > you
> > might want to try:
> > >
> > > my $therequest=$r->the_request;
> > > my($host,$uri) = $therequest=~m!http://([^/]+)(.*))!;
> > > unless($host=~m!xyz\.com!){
> > >    $r->content_type('text/html');
> > >    $r->header_out(Location => "http://www.xyz.com$uri");
> > >    return REDIRECT;
> > > }
> > >
> > > you can probably also get mod_rewrite to do this for you very easily
> > as
> > > well.
> > >
> > >
> > > --
> > > ___cliff rayman___www.genwax.com___cliff@genwax.com___
> > >
> > > "Hello!" wrote:
> > >
> > > > sirs, i met a problem on EMBPERL_COOKIE_DOMAIN, which i set it to
> > > > "xyz.com" for example. the IP address of my www.xyz.com is
> > > > 123.99.88.77. %udat fails to be persistent if the URL entered in
> > > > browser's Location box is http://123.99.88.77, very possibly
> > because
> > > > the domain part is "99.88.77" which is different from "xyz.com" i
> > set
> > > > for EMBPERL_COOKIE_DOMAIN so that the browser won't return the
> > cookie
> > > > EMBPERL_UID. i uncomment PerlSetEnv EMBPERL_COOKIE_DOMAIN but it
> > still
> > > > not work. or, how can i know entered URL is 123.99.88.77 (not
> > > > SERVER_NAME) so that i can redirect the browser to www.xyz.com? is
> >
> > > > there any elegant remedy for such kind of user
> > > > ignorance? thanks.huang-ming
> > > >
> > > >      ----- Original Message -----
> > > >      From: Gerald Richter
> > > >      To: Hello ; Embperl@Perl. Apache. Org
> > > >      Sent: Friday, May 12, 2000 2:04 PM
> > > >      Subject: RE: %udat persistence problem...S.O.S.
> > > >
> > > >
> > > >            I'm sorry I didn't read the mailing list, because
> > > >           I don't know how to get the list.
> > > >
> > > >      Look at
> > > >
> > http://perl.apache.org/embperl/Embperl.pod.15.html#Feedback_and_Bug_ReportsGerald
> >
> > > >
> > > >
> > > >
> > >
> > >
> > >
> > >
> > >
> 
> --
> ___cliff rayman___www.genwax.com___cliff@genwax.com___
> 
> 
> 

Re: %udat persistence problem...S.O.S.

Posted by ___cliff rayman___ <cl...@genwax.com>.
your right - sorry.
i hadn't tried it - i was reading Apache Modules and did not
read it correctly.
i also tried variations of Apache::URI parse to get a hostname,
but that did not seem to work on my development server.  it is
back several revs however.
cliff

Hello wrote:

> thanks a lot. but, does the_request() contain the host part (ie.
> 123.99.88.77 for my case) of entered URL? it seems to contain only
> method, uri, and protocol only. huang-ming----- Original Message
> -----From: ___cliff rayman___ <cl...@genwax.com>To: Hello!
> <pa...@ksts.seed.net.tw>; <mo...@apache.org>Sent: Thursday, June
> 01, 2000 8:24 AMSubject: Re: %udat persistence problem...S.O.S. > you
> might want to try:
> >
> > my $therequest=$r->the_request;
> > my($host,$uri) = $therequest=~m!http://([^/]+)(.*))!;
> > unless($host=~m!xyz\.com!){
> >    $r->content_type('text/html');
> >    $r->header_out(Location => "http://www.xyz.com$uri");
> >    return REDIRECT;
> > }
> >
> > you can probably also get mod_rewrite to do this for you very easily
> as
> > well.
> >
> >
> > --
> > ___cliff rayman___www.genwax.com___cliff@genwax.com___
> >
> > "Hello!" wrote:
> >
> > > sirs, i met a problem on EMBPERL_COOKIE_DOMAIN, which i set it to
> > > "xyz.com" for example. the IP address of my www.xyz.com is
> > > 123.99.88.77. %udat fails to be persistent if the URL entered in
> > > browser's Location box is http://123.99.88.77, very possibly
> because
> > > the domain part is "99.88.77" which is different from "xyz.com" i
> set
> > > for EMBPERL_COOKIE_DOMAIN so that the browser won't return the
> cookie
> > > EMBPERL_UID. i uncomment PerlSetEnv EMBPERL_COOKIE_DOMAIN but it
> still
> > > not work. or, how can i know entered URL is 123.99.88.77 (not
> > > SERVER_NAME) so that i can redirect the browser to www.xyz.com? is
>
> > > there any elegant remedy for such kind of user
> > > ignorance? thanks.huang-ming
> > >
> > >      ----- Original Message -----
> > >      From: Gerald Richter
> > >      To: Hello ; Embperl@Perl. Apache. Org
> > >      Sent: Friday, May 12, 2000 2:04 PM
> > >      Subject: RE: %udat persistence problem...S.O.S.
> > >
> > >
> > >            I'm sorry I didn't read the mailing list, because
> > >           I don't know how to get the list.
> > >
> > >      Look at
> > >
> http://perl.apache.org/embperl/Embperl.pod.15.html#Feedback_and_Bug_ReportsGerald
>
> > >
> > >
> > >
> >
> >
> >
> >
> >

--
___cliff rayman___www.genwax.com___cliff@genwax.com___



Re: %udat persistence problem...S.O.S.

Posted by Hello <pa...@ksts.seed.net.tw>.
thanks a lot.

but, does the_request() contain the host part (ie. 123.99.88.77 for my case) of entered URL? it seems to contain only method, uri, and protocol only.

huang-ming
----- Original Message ----- 
From: ___cliff rayman___ <cl...@genwax.com>
To: Hello! <pa...@ksts.seed.net.tw>; <mo...@apache.org>
Sent: Thursday, June 01, 2000 8:24 AM
Subject: Re: %udat persistence problem...S.O.S.


> you might want to try:
> 
> my $therequest=$r->the_request;
> my($host,$uri) = $therequest=~m!http://([^/]+)(.*))!;
> unless($host=~m!xyz\.com!){
>    $r->content_type('text/html');
>    $r->header_out(Location => "http://www.xyz.com$uri");
>    return REDIRECT;
> }
> 
> you can probably also get mod_rewrite to do this for you very easily as
> well.
> 
> 
> --
> ___cliff rayman___www.genwax.com___cliff@genwax.com___
> 
> "Hello!" wrote:
> 
> > sirs, i met a problem on EMBPERL_COOKIE_DOMAIN, which i set it to
> > "xyz.com" for example. the IP address of my www.xyz.com is
> > 123.99.88.77. %udat fails to be persistent if the URL entered in
> > browser's Location box is http://123.99.88.77, very possibly because
> > the domain part is "99.88.77" which is different from "xyz.com" i set
> > for EMBPERL_COOKIE_DOMAIN so that the browser won't return the cookie
> > EMBPERL_UID. i uncomment PerlSetEnv EMBPERL_COOKIE_DOMAIN but it still
> > not work. or, how can i know entered URL is 123.99.88.77 (not
> > SERVER_NAME) so that i can redirect the browser to www.xyz.com? is
> > there any elegant remedy for such kind of user
> > ignorance? thanks.huang-ming
> >
> >      ----- Original Message -----
> >      From: Gerald Richter
> >      To: Hello ; Embperl@Perl. Apache. Org
> >      Sent: Friday, May 12, 2000 2:04 PM
> >      Subject: RE: %udat persistence problem...S.O.S.
> >
> >
> >            I'm sorry I didn't read the mailing list, because
> >           I don't know how to get the list.
> >
> >      Look at
> >      http://perl.apache.org/embperl/Embperl.pod.15.html#Feedback_and_Bug_ReportsGerald
> >
> >
> >
> 
> 
> 
> 
> 

Re: %udat persistence problem...S.O.S.

Posted by ___cliff rayman___ <cl...@genwax.com>.
you might want to try:

my $therequest=$r->the_request;
my($host,$uri) = $therequest=~m!http://([^/]+)(.*))!;
unless($host=~m!xyz\.com!){
   $r->content_type('text/html');
   $r->header_out(Location => "http://www.xyz.com$uri");
   return REDIRECT;
}

you can probably also get mod_rewrite to do this for you very easily as
well.


--
___cliff rayman___www.genwax.com___cliff@genwax.com___

"Hello!" wrote:

> sirs, i met a problem on EMBPERL_COOKIE_DOMAIN, which i set it to
> "xyz.com" for example. the IP address of my www.xyz.com is
> 123.99.88.77. %udat fails to be persistent if the URL entered in
> browser's Location box is http://123.99.88.77, very possibly because
> the domain part is "99.88.77" which is different from "xyz.com" i set
> for EMBPERL_COOKIE_DOMAIN so that the browser won't return the cookie
> EMBPERL_UID. i uncomment PerlSetEnv EMBPERL_COOKIE_DOMAIN but it still
> not work. or, how can i know entered URL is 123.99.88.77 (not
> SERVER_NAME) so that i can redirect the browser to www.xyz.com? is
> there any elegant remedy for such kind of user
> ignorance? thanks.huang-ming
>
>      ----- Original Message -----
>      From: Gerald Richter
>      To: Hello ; Embperl@Perl. Apache. Org
>      Sent: Friday, May 12, 2000 2:04 PM
>      Subject: RE: %udat persistence problem...S.O.S.
>
>
>            I'm sorry I didn't read the mailing list, because
>           I don't know how to get the list.
>
>      Look at
>      http://perl.apache.org/embperl/Embperl.pod.15.html#Feedback_and_Bug_ReportsGerald
>
>
>





RE: %udat persistence problem...S.O.S.

Posted by Gerald Richter <ri...@ecos.de>.
Hi,

for Browsers that supports HTTP 1.1 there should be a Host header (or
similar), that you can use. For older browser that only support HTTP 1.0,
you can't get this information.

Gerald


-------------------------------------------------------------
Gerald Richter    ecos electronic communication services gmbh
Internetconnect * Webserver/-design/-datenbanken * Consulting

Post:       Tulpenstrasse 5         D-55276 Dienheim b. Mainz
E-Mail:     richter@ecos.de         Voice:    +49 6133 925151
WWW:        http://www.ecos.de      Fax:      +49 6133 925152
-------------------------------------------------------------



  -----Original Message-----
  From: embperl-return-511-richter=ecos.de@perl.apache.org
[mailto:embperl-return-511-richter=ecos.de@perl.apache.org]On Behalf Of
Hello!
  Sent: Thursday, June 01, 2000 1:36 AM
  To: Gerald Richter; Embperl@Perl. Apache. Org
  Subject: Re: %udat persistence problem...S.O.S.
  Importance: High


  sirs,

  i met a problem on EMBPERL_COOKIE_DOMAIN, which i set it to "xyz.com" for
example. the IP address of my www.xyz.com is 123.99.88.77.

  %udat fails to be persistent if the URL entered in browser's Location box
is http://123.99.88.77, very possibly because the domain part is "99.88.77"
which is different from "xyz.com" i set for EMBPERL_COOKIE_DOMAIN so that
the browser won't return the cookie EMBPERL_UID.

  i uncomment PerlSetEnv EMBPERL_COOKIE_DOMAIN but it still not work.

  or, how can i know entered URL is 123.99.88.77 (not SERVER_NAME) so that i
can redirect the browser to www.xyz.com?

  is there any elegant remedy for such kind of user ignorance?

  thanks.
  huang-ming
    ----- Original Message -----
    From: Gerald Richter
    To: Hello ; Embperl@Perl. Apache. Org
    Sent: Friday, May 12, 2000 2:04 PM
    Subject: RE: %udat persistence problem...S.O.S.




      I'm sorry I didn't read the mailing list, because I don't know how to
get the list.

    Look at
http://perl.apache.org/embperl/Embperl.pod.15.html#Feedback_and_Bug_Reports

    Gerald


Re: %udat persistence problem...S.O.S.

Posted by Hello! <pa...@ksts.seed.net.tw>.
sirs,

i met a problem on EMBPERL_COOKIE_DOMAIN, which i set it to "xyz.com" for example. the IP address of my www.xyz.com is 123.99.88.77.

%udat fails to be persistent if the URL entered in browser's Location box is http://123.99.88.77, very possibly because the domain part is "99.88.77" which is different from "xyz.com" i set for EMBPERL_COOKIE_DOMAIN so that the browser won't return the cookie EMBPERL_UID.

i uncomment PerlSetEnv EMBPERL_COOKIE_DOMAIN but it still not work. 

or, how can i know entered URL is 123.99.88.77 (not SERVER_NAME) so that i can redirect the browser to www.xyz.com?

is there any elegant remedy for such kind of user ignorance? 

thanks.
huang-ming
  ----- Original Message ----- 
  From: Gerald Richter 
  To: Hello ; Embperl@Perl. Apache. Org 
  Sent: Friday, May 12, 2000 2:04 PM
  Subject: RE: %udat persistence problem...S.O.S.



     
    I'm sorry I didn't read the mailing list, because I don't know how to get the list. 

  Look at http://perl.apache.org/embperl/Embperl.pod.15.html#Feedback_and_Bug_Reports
   
  Gerald


RE: %udat persistence problem...S.O.S.

Posted by Gerald Richter <ri...@ecos.de>.

  I'm sorry I didn't read the mailing list, because I don't know how to get
the list.

Look at
http://perl.apache.org/embperl/Embperl.pod.15.html#Feedback_and_Bug_Reports

Gerald


Re: %udat persistence problem...S.O.S.

Posted by Hello <pa...@ksts.seed.net.tw>.
Hi,

I'm sorry I didn't read the mailing list, because I don't know how to get the list. 

I'll try your advices and get back to you if any success or still failure. Thanks.

Regards,
Huang-Ming
  ----- Original Message ----- 
  From: Gerald Richter 
  To: Hello ; Embperl@Perl. Apache. Org 
  Sent: Thursday, May 11, 2000 1:32 PM
  Subject: RE: %udat persistence problem...S.O.S.




    I'm sure cookie is enabled because i saw it enabled in IE5 configuration list. Any other possibility?
  Have you read the other thread about %udat on the Embperl mailinglist?
   
  Try
   
  - setting dbgHeadersIn in EMBPERL_DEBUG an see if the cookies is always send by the browser
  - to upgrade IE 5
  - replace SysVSemaphoreLocker with NullLocker
   
  Gerald
   


Re: %udat persistence problem...thank you.

Posted by Hello <pa...@ksts.seed.net.tw>.
hi,

it works! i commented out my EMBPERL_EXPIRES.

thank you so much.

best regards,
huang-ming
    [379]HDR:  Set-Cookie=EMBPERL_UID=a6d3b1e02514d81d; domain=.innomedia.com; path=/; expires=+1M
     
  Here you see that Embperl send a cookie
    ...
    [379]HDR:  Connection=Keep-Alive
    [379]HDR:  Cookie=169Net%40InnoMedia=email&root%40localhost&MAC&8a66d88fe8d8fef3ca1fac11b5203b6f&uid&1&user&panpipi
     
  And here you see that the cookie doesn't comes back from your browser. Instead there is another cook獯 comming back.
   
  So either IE5 doesn't accepts the Embperl cookie or it doesn't send it back. I am not sure if +1M is a valid value for expires. Maybe you try it without the EMBPERL_EXPIRES setting, which will cause the browser to forget about the cookie when it is closed.

RE: %udat persistence problem...S.O.S.

Posted by Gerald Richter <ri...@ecos.de>.
  ...
   [379]Sub-Request finished. Fri May 12 13:15:04 2000
  . Entry-SVs: 28067 -OBJs: 43 Exit-SVs: 28197 -OBJs: 46
  [379]HDR:  5
  [379]HDR:  Content-Length=7238
  [379]HDR:  Set-Cookie=EMBPERL_UID=a6d3b1e02514d81d; domain=.innomedia.com;
path=/; expires=+1M

Here you see that Embperl send a cookie
  ...
  [379]REQ:  Package = HTML::Embperl::DOC::_4
  [379]HDR:  7
  [379]HDR:  Accept=application/vnd.ms-excel, application/msword,
application/vnd.ms-powerpoint, image/gif, image/x-xbitmap, image/jpeg,
image/pjpeg, */*
  [379]HDR:  Accept-Encoding=gzip, deflate
  [379]HDR:  Accept-Language=zh-tw
  [379]HDR:  Connection=Keep-Alive
  [379]HDR:
Cookie=169Net%40InnoMedia=email&root%40localhost&MAC&8a66d88fe8d8fef3ca1fac1
1b5203b6f&uid&1&user&panpipi

And here you see that the cookie doesn't comes back from your browser.
Instead there is another cookie comming back.

So either IE5 doesn't accepts the Embperl cookie or it doesn't send it back.
I am not sure if +1M is a valid value for expires. Maybe you try it without
the EMBPERL_EXPIRES setting, which will cause the browser to forget about
the cookie when it is closed.

Gerald



Re: %udat persistence problem...S.O.S.

Posted by Hello <pa...@ksts.seed.net.tw>.
hi,

i tried all of your advices but still failed. 

i replaced with NullLocker. the wrong result remains.

i upgraded IE5 with the same version on my another PC. the wrong result remains.

the Netscape 4.x remains correct.

the following debug log is after i set EMBPERL_DEBUG to dbgHeadersIn. could you give more hints where might go wrong?

my test script is as simple as:

[+ $udat{test}++ +]

--- embperl.log ---
[379]MEM: Load /usr/local/apache/htdocs/169/login.htm in HTML::Embperl::DOC::_1
[379]REQ:  Embperl 1.2b9 starting... Fri May 12 13:15:04 2000

[379]REQ:  No Safe Eval  All Opcode allowed   mode = mod_perl (3)
[379]REQ:  Package = HTML::Embperl::DOC::_1
[379]HDR:  7
[379]HDR:  Accept=application/vnd.ms-excel, application/msword, application/vnd.ms-powerpoint, image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
[379]HDR:  Accept-Encoding=gzip, deflate
[379]HDR:  Accept-Language=zh-tw
[379]HDR:  Connection=Keep-Alive
[379]HDR:  Cookie=169Net%40InnoMedia=email&root%40localhost&MAC&8a66d88fe8d8fef3ca1fac11b5203b6f&uid&1&user&panpipi
[379]HDR:  Host=169net.innomedia.com
[379]HDR:  User-Agent=Mozilla/4.0 (compatible; MSIE 5.0; Windows 95; SEEDNet)
[379]Formdata... length = 0
[379]Using APACHE for output...
[379]Reading /usr/local/apache/htdocs/169/login.htm as input using PerlIO ...
[379]MEM: Load /usr/local/apache/htdocs/169/common/head.htm in HTML::Embperl::DOC::_2
[379]REQ:  No Safe Eval  All Opcode allowed   mode = mod_perl (3)
[379]REQ:  Package = HTML::Embperl::DOC::_2
[379]Reading /usr/local/apache/htdocs/169/common/head.htm as input using PerlIO ...
[379]PERF: input = /usr/local/apache/htdocs/169/common/head.htm
[379]PERF: Time: 30 ms Evals: 4 Cache Hits: 0 (0%)
[379]Sub-Request finished. Fri May 12 13:15:04 2000
. Entry-SVs: 26857 -OBJs: 21 Exit-SVs: 27868 -OBJs: 42
[379]MEM: Load /usr/local/apache/htdocs/169/common/tail.htm in HTML::Embperl::DOC::_3
[379]REQ:  No Safe Eval  All Opcode allowed   mode = mod_perl (3)
[379]REQ:  Package = HTML::Embperl::DOC::_3
[379]Reading /usr/local/apache/htdocs/169/common/tail.htm as input using PerlIO ...
[379]PERF: input = /usr/local/apache/htdocs/169/common/tail.htm
[379]PERF: Time: 0 ms Evals: 8 Cache Hits: 4 (50%)
[379]Sub-Request finished. Fri May 12 13:15:04 2000
. Entry-SVs: 28067 -OBJs: 43 Exit-SVs: 28197 -OBJs: 46
[379]HDR:  5
[379]HDR:  Content-Length=7238
[379]HDR:  Set-Cookie=EMBPERL_UID=a6d3b1e02514d81d; domain=.innomedia.com; path=/; expires=+1M
[379]HDR:  Keep-Alive=timeout=15, max=100
[379]HDR:  Connection=Keep-Alive
[379]HDR:  Content-Type=text/html; charset=big5
[379]PERF: input = /usr/local/apache/htdocs/169/login.htm
[379]PERF: Time: 140 ms Evals: 6 Cache Hits: 0 (0%)
[379]Request finished. Fri May 12 13:15:04 2000
. Entry-SVs: 22520 -OBJs: 16 Exit-SVs: 28179 -OBJs: 44
[379]MEM: Free buffer for /usr/local/apache/htdocs/169/common/tail.htm in HTML::Embperl::DOC::_3
[379]MEM: Free buffer for /usr/local/apache/htdocs/169/common/head.htm in HTML::Embperl::DOC::_2
[379]MEM: Free buffer for /usr/local/apache/htdocs/169/login.htm in HTML::Embperl::DOC::_1
[379]MEM: Load /usr/local/apache/htdocs/169/test/udat.htm in HTML::Embperl::DOC::_4
[379]REQ:  Embperl 1.2b9 starting... Fri May 12 13:15:18 2000

[379]REQ:  No Safe Eval  All Opcode allowed   mode = mod_perl (3)
[379]REQ:  Package = HTML::Embperl::DOC::_4
[379]HDR:  7
[379]HDR:  Accept=application/vnd.ms-excel, application/msword, application/vnd.ms-powerpoint, image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
[379]HDR:  Accept-Encoding=gzip, deflate
[379]HDR:  Accept-Language=zh-tw
[379]HDR:  Connection=Keep-Alive
[379]HDR:  Cookie=169Net%40InnoMedia=email&root%40localhost&MAC&8a66d88fe8d8fef3ca1fac11b5203b6f&uid&1&user&panpipi
[379]HDR:  Host=169net.innomedia.com
[379]HDR:  User-Agent=Mozilla/4.0 (compatible; MSIE 5.0; Windows 95; SEEDNet)
[379]Formdata... length = 0
[379]Using APACHE for output...
[379]Reading /usr/local/apache/htdocs/169/test/udat.htm as input using PerlIO ...
[379]HDR:  5
[379]HDR:  Content-Length=361
[379]HDR:  Set-Cookie=EMBPERL_UID=9718283401028a60; domain=.innomedia.com; path=/; expires=+1M
[379]HDR:  Keep-Alive=timeout=15, max=97
[379]HDR:  Connection=Keep-Alive
[379]HDR:  Content-Type=text/html; charset=big5
[379]PERF: input = /usr/local/apache/htdocs/169/test/udat.htm
[379]PERF: Time: 10 ms Evals: 1 Cache Hits: 0 (0%)
[379]Request finished. Fri May 12 13:15:18 2000
. Entry-SVs: 28225 -OBJs: 45 Exit-SVs: 28334 -OBJs: 48
[379]MEM: Free buffer for /usr/local/apache/htdocs/169/test/udat.htm in HTML::Embperl::DOC::_4
[379]REQ:  Embperl 1.2b9 starting... Fri May 12 13:15:20 2000

[379]REQ:  No Safe Eval  All Opcode allowed   mode = mod_perl (3)
[379]REQ:  Package = HTML::Embperl::DOC::_4
[379]HDR:  7
[379]HDR:  Accept=*/*
[379]HDR:  Accept-Encoding=gzip, deflate
[379]HDR:  Accept-Language=zh-tw
[379]HDR:  Connection=Keep-Alive
[379]HDR:  Cookie=169Net%40InnoMedia=email&root%40localhost&MAC&8a66d88fe8d8fef3ca1fac11b5203b6f&uid&1&user&panpipi
[379]HDR:  Host=169net.innomedia.com
[379]HDR:  User-Agent=Mozilla/4.0 (compatible; MSIE 5.0; Windows 95; SEEDNet)
[379]Formdata... length = 0
[379]Using APACHE for output...
[379]Reading /usr/local/apache/htdocs/169/test/udat.htm as input using PerlIO ...
[379]HDR:  5
[379]HDR:  Content-Length=361
[379]HDR:  Set-Cookie=EMBPERL_UID=d0c8a817e564170b; domain=.innomedia.com; path=/; expires=+1M
[379]HDR:  Keep-Alive=timeout=15, max=96
[379]HDR:  Connection=Keep-Alive
[379]HDR:  Content-Type=text/html; charset=big5
[379]PERF: input = /usr/local/apache/htdocs/169/test/udat.htm
[379]PERF: Time: 0 ms Evals: 1 Cache Hits: 1 (100%)
[379]Request finished. Fri May 12 13:15:20 2000
. Entry-SVs: 28331 -OBJs: 48 Exit-SVs: 28340 -OBJs: 48
[379]MEM: Free buffer for /usr/local/apache/htdocs/169/test/udat.htm in HTML::Embperl::DOC::_4
[379]REQ:  Embperl 1.2b9 starting... Fri May 12 13:15:22 2000

[379]REQ:  No Safe Eval  All Opcode allowed   mode = mod_perl (3)
[379]REQ:  Package = HTML::Embperl::DOC::_4
[379]HDR:  7
[379]HDR:  Accept=*/*
[379]HDR:  Accept-Encoding=gzip, deflate
[379]HDR:  Accept-Language=zh-tw
[379]HDR:  Connection=Keep-Alive
[379]HDR:  Cookie=169Net%40InnoMedia=email&root%40localhost&MAC&8a66d88fe8d8fef3ca1fac11b5203b6f&uid&1&user&panpipi
[379]HDR:  Host=169net.innomedia.com
[379]HDR:  User-Agent=Mozilla/4.0 (compatible; MSIE 5.0; Windows 95; SEEDNet)
[379]Formdata... length = 0
[379]Using APACHE for output...
[379]Reading /usr/local/apache/htdocs/169/test/udat.htm as input using PerlIO ...
[379]HDR:  5
[379]HDR:  Content-Length=361
[379]HDR:  Set-Cookie=EMBPERL_UID=e03788c5741b5de2; domain=.innomedia.com; path=/; expires=+1M
[379]HDR:  Keep-Alive=timeout=15, max=95
[379]HDR:  Connection=Keep-Alive
[379]HDR:  Content-Type=text/html; charset=big5
[379]PERF: input = /usr/local/apache/htdocs/169/test/udat.htm
[379]PERF: Time: 0 ms Evals: 1 Cache Hits: 1 (100%)
[379]Request finished. Fri May 12 13:15:22 2000
. Entry-SVs: 28331 -OBJs: 48 Exit-SVs: 28340 -OBJs: 48
[379]MEM: Free buffer for /usr/local/apache/htdocs/169/test/udat.htm in HTML::Embperl::DOC::_4
[379]REQ:  Embperl 1.2b9 starting... Fri May 12 13:15:23 2000

[379]REQ:  No Safe Eval  All Opcode allowed   mode = mod_perl (3)
[379]REQ:  Package = HTML::Embperl::DOC::_4
[379]HDR:  7
[379]HDR:  Accept=*/*
[379]HDR:  Accept-Encoding=gzip, deflate
[379]HDR:  Accept-Language=zh-tw
[379]HDR:  Connection=Keep-Alive
[379]HDR:  Cookie=169Net%40InnoMedia=email&root%40localhost&MAC&8a66d88fe8d8fef3ca1fac11b5203b6f&uid&1&user&panpipi
[379]HDR:  Host=169net.innomedia.com
[379]HDR:  User-Agent=Mozilla/4.0 (compatible; MSIE 5.0; Windows 95; SEEDNet)
[379]Formdata... length = 0
[379]Using APACHE for output...
[379]Reading /usr/local/apache/htdocs/169/test/udat.htm as input using PerlIO ...
[379]HDR:  5
[379]HDR:  Content-Length=361
[379]HDR:  Set-Cookie=EMBPERL_UID=c43b2b0cad8224e5; domain=.innomedia.com; path=/; expires=+1M
[379]HDR:  Keep-Alive=timeout=15, max=94
[379]HDR:  Connection=Keep-Alive
[379]HDR:  Content-Type=text/html; charset=big5
[379]PERF: input = /usr/local/apache/htdocs/169/test/udat.htm
[379]PERF: Time: 10 ms Evals: 1 Cache Hits: 1 (100%)
[379]Request finished. Fri May 12 13:15:23 2000
. Entry-SVs: 28331 -OBJs: 48 Exit-SVs: 28340 -OBJs: 48
[379]MEM: Free buffer for /usr/local/apache/htdocs/169/test/udat.htm in HTML::Embperl::DOC::_4

  ----- Original Message ----- 
  From: Gerald Richter 
  To: Hello ; Embperl@Perl. Apache. Org 
  Sent: Thursday, May 11, 2000 1:32 PM
  Subject: RE: %udat persistence problem...S.O.S.




    I'm sure cookie is enabled because i saw it enabled in IE5 configuration list. Any other possibility?
  Have you read the other thread about %udat on the Embperl mailinglist?
   
  Try
   
  - setting dbgHeadersIn in EMBPERL_DEBUG an see if the cookies is always send by the browser
  - to upgrade IE 5
  - replace SysVSemaphoreLocker with NullLocker
   
  Gerald
   


RE: %udat persistence problem...S.O.S.

Posted by Gerald Richter <ri...@ecos.de>.

  I'm sure cookie is enabled because i saw it enabled in IE5 configuration
list. Any other possibility?
Have you read the other thread about %udat on the Embperl mailinglist?

Try

- setting dbgHeadersIn in EMBPERL_DEBUG an see if the cookies is always send
by the browser
- to upgrade IE 5
- replace SysVSemaphoreLocker with NullLocker

Gerald



Re: %udat persistence problem...S.O.S.

Posted by Hello <pa...@ksts.seed.net.tw>.
I'm sure cookie is enabled because i saw it enabled in IE5 configuration list. Any other possibility?

Thanks.
Huang-Ming
  ----- Original Message ----- 
  From: Gerald Richter 
  To: Hello ; Embperl@Perl. Apache. Org 
  Sent: Wednesday, May 10, 2000 8:42 PM
  Subject: RE: %udat persistence problem...S.O.S.


     
    [+ $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.
     
  Looks like cookies are disabled on the IE 5 that doesn't work. 
   
  Gerald
   

RE: %udat persistence problem...S.O.S.

Posted by Gerald Richter <ri...@ecos.de>.
  [+ $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.

Looks like cookies are disabled on the IE 5 that doesn't work.

Gerald


%udat persistence problem...S.O.S.

Posted by Hello <pa...@ksts.seed.net.tw>.
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
   

RE: PERL string terminator with Carriage Return...

Posted by Gerald Richter <ri...@ecos.de>.
  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


Re: PERL string terminator with Carriage Return...

Posted by Hello <pa...@ksts.seed.net.tw>.
hi,

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.

i downloaded most up-to-date embperl, version 1.3b3.  and it remains the same handling and the same error result.

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.

this is important to me because i get used to dividing a long MySQL SQL statement into several lines and terminating them by a terminator "END", for example,

my $st=$db->mysql(<<END);
SELECT album.* ,album.oid AS oid2,uinfo.name,uinfo.user, uinfo.gid, uinfo.frs, count(alobj.oid) AS nobj,
   (unix_timestamp()-unix_timestamp(album.birth)<$ndays*24*60*60) AS new
   FROM  uinfo, album LEFT OUTER JOIN alobj USING (aid)
   WHERE kind='$fdat{kind}' $search AND ($pref)
   AND album.oid=uinfo.id
   GROUP BY album.aid
   LIMIT $fdat{limit}
END

i understand that all these troubles are caused by Composer and FrontPage of windows version, which terminate each line of html files with '\r\n'. 
 
but i wish newer version of embperl could filter out \r completely. 

thanks.

regards,
huang-ming
  ----- Original Message ----- 
  From: Gerald Richter 
  To: Hello ; Embperl@Perl. Apache. Org 
  Sent: Saturday, April 29, 2000 8:20 PM
  Subject: RE: PERL string terminator with Carriage Return...




    Everything is ok except when I use the following Perl string terminator construct:
      [+
      print <<END;
      111111111111
      222222222222
      END
      +]
    Embperl complains with:
      [2310]ERR: 24: Line 10: Error in Perl code: (in cleanup) Can't find string terminator " 
          END" anywhere before EOF at /usr/local/apache/htdocs/test.htm line 11.

    When I dig into the file source with vi, there is a  ^M (ie. CarriageReturn) immediately following "END". I think Perl won't allow anything execpt LineFeed (0A) to follow the string terminator, END here. 

  Embperl already removes the CR from your source (because Perl 5.004 don't like CR's at all). 

  Does it change anything when you put the block [- $optRawInput = 1 -] before the above code? or you can write &lt;&lt; instead of the <<. Otherwise Embperl will treat the << as the start of an HTML tag and removes the rest of the block. This is done to get rid of unwanted HTML tags e.g. <BR> that are inserted by FrontPage or other editors in your perl code.

  Gerald

  P.S. Support for Embperl has moved from modperl to embperl mailing list

   

     

     

     But I cannot change Composer or Frontpage anyway. Is there any remedy I can do to drop the annoying ^M on the fly during Embperl parsing phase? Has anyone else ever reported such a problem? I used to using X-window version of Composer and never found such problem.

    I cannot but edit my web pages on Win/98 and use Samba server because there is no way to edit Chinese characters on Linux X-window.

    Please advise on this. Thanks a lot.

    Best Regards,

    Huang-Ming 

     
      ----- Original Message ----- 
      From: Gerald Richter 
      To: seednet 
      Sent: Monday, February 21, 2000 3:28 AM
      Subject: RE: Chinese char input problem...


      Hi,
       
      sorry, I missed this mail, so my answer is coming very late.
       
      Also your idea of a familiy site sounds interesting to me, it currently doesn't fit in the things we do. We also currently don't have the men power to do further developement on that.
       
      Sorry
       
      Gerald
      -------------------------------------------------------------
      Gerald Richter    ecos electronic communication services gmbh
      Internetconnect * Webserver/-design/-datenbanken * Consulting

      Post:       Tulpenstrasse 5         D-55276 Dienheim b. Mainz
      E-Mail:     richter@ecos.de         Voice:    +49 6133 925151
      WWW:        http://www.ecos.de      Fax:      +49 6133 925152
      -------------------------------------------------------------
       

       



      -------------------------------------------------------------
      Gerald Richter    ecos electronic communication services gmbh
      Internetconnect * Webserver/-design/-datenbanken * Consulting

      Post:       Tulpenstrasse 5         D-55276 Dienheim b. Mainz
      E-Mail:     richter@ecos.de         Voice:    +49 6133 925151
      WWW:        http://www.ecos.de      Fax:      +49 6133 925152
      -------------------------------------------------------------