File: PerlRun.pod

package info (click to toggle)
libapache2-mod-perl2 2.0.9~1624218-2%2Bdeb8u2
  • links: PTS, VCS
  • area: main
  • in suites: jessie
  • size: 11,912 kB
  • ctags: 4,588
  • sloc: perl: 95,064; ansic: 14,527; makefile: 49; sh: 18
file content (82 lines) | stat: -rw-r--r-- 1,829 bytes parent folder | download | duplicates (11)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
=head1 NAME

ModPerl::PerlRun - Run unaltered CGI scripts under mod_perl

=head1 Synopsis

  # httpd.conf
  PerlModule ModPerl::PerlRun
  Alias /perl-run/ /home/httpd/perl/
  <Location /perl-run>
      SetHandler perl-script
      PerlResponseHandler ModPerl::PerlRun
      PerlOptions +ParseHeaders
      Options +ExecCGI
  </Location>


=head1 Description

META: document that for now we don't chdir() into the script's dir,
because it affects the whole process under
threads. C<L<ModPerl::PerlRunPrefork|docs::2.0::api::ModPerl::PerlRunPrefork>>
should be used by those who run only under prefork MPM.


=head1 Special Blocks


=head2 C<BEGIN> Blocks

When running under the C<ModPerl::PerlRun> handler C<BEGIN> blocks
behave as follows:

=over

=item *

C<BEGIN> blocks defined in scripts running under the
C<ModPerl::PerlRun> handler are executed on each and every request.

=item *

C<BEGIN> blocks defined in modules loaded from scripts running under
C<ModPerl::PerlRun> (and which weren't already loaded prior to the
request) are executed on each and every request only if those modules
declare no package. If a package is declared C<BEGIN> blocks will be
run only the first time each module is loaded, since those modules
don't get reloaded on subsequent requests.

=back

See also L<C<BEGIN> blocks in mod_perl
handlers|docs::2.0::user::coding::coding/C_BEGIN__Blocks>.


=head2 C<CHECK> and C<INIT> Blocks

Same as normal L<mod_perl
handlers|docs::2.0::user::coding::coding/C_CHECK__and_C_INIT__Blocks>.



=head2 C<END> Blocks

Same as
C<L<ModPerl::Registry|docs::2.0::api::ModPerl::Registry/C_BEGIN__Blocks>>.


=head1 Authors

Doug MacEachern

Stas Bekman



=head1 See Also

C<L<ModPerl::RegistryCooker|docs::2.0::api::ModPerl::RegistryCooker>>
and C<L<ModPerl::Registry|docs::2.0::api::ModPerl::Registry>>.

=cut