> I'm not sure what you mean here.
> Note that *variables* are lexically scoped, but not values.

I was surprised that the "SCALAR(0x8ca70e4)" output was identical on
subsequent requests to a child -- indicating to me that the ref (and what
it was refering to) may have survived the request cycle?  I guess would
have expected a different ref, especially after running through the top
part of the handler again, where it reinitializes them.  I've included the
code again below for convenience).

Also, the internal magic (switching from PV to PVMG) seems to survive the
request cycle?  Regardlesss of whether the $r->print() behavior is going
to be changed, I was surprised that the regex from first request effected
the behavior on the second request.

Just my thoughts as a curious mortal :)

Thanks,
Jonathan

---

  sub handler {

      my $r = shift;
      $r->send_http_header("text/plain");

      my $data = "hello\n";
      my $dataref = \$data;

      # normally we can pass a reference to Apache's print
      $r->print($dataref);

      $$dataref =~ s/(h)/$1/;

      # but not if we've done a successful backreferenced pattern match
      $r->print($dataref);

  }

  1;

On the first request to a given child, I get:

  hello
  SCALAR(0x8ca70e4)

On subsequent requests I get:

  SCALAR(0x8ca70e4)SCALAR(0x8ca70e4)





-- 
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html

Reply via email to