mod_perl is a persistent process, but there's no guarantee that from one load to the next you will get the *same* persistent process; Apache can spawn multiple threads which each handle requests, but don't know about the state of the other requests. The persistence makes mod_perl tricky from the standpoint that globals may retain values from one hit to the next. But it also makes mod_perl tricky from the standpoint that from one hit to the next you may not get the same process.

CGI in general (and by derivation, web server frameworks too ) is stateless. mod_perl is not only stateless, it's deceptive in that it can sometimes give the impression of maintaining state (and usually when you don't want it to).

If you really want to maintain state between loads, do it explicitly using cookies and a database or temp-files, and/or send JSON packets back and forth, as frameworks such as Mojolicious do in a restful way.


Dave


In reply to Re: mod_perl variable persistence across request and/or session by davido
in thread mod_perl variable persistence across request and/or session by S0ldier

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.