@@ -1872,6 +1872,10 @@ It has the same scoping as the C<$^H> and C<%^H> variables. The exact
1872
1872
values are considered internal to the L<warnings> pragma and may change
1873
1873
between versions of Perl.
1874
1874
1875
+ Each time a statement completes being compiled, the current value of
1876
+ C<${^WARNING_BITS}> is stored with that statement, and can later be
1877
+ retrieved via C<(caller($level))[9]>.
1878
+
1875
1879
This variable was added in Perl v5.6.0.
1876
1880
1877
1881
=item $OS_ERROR
@@ -2138,6 +2142,10 @@ This variable contains compile-time hints for the Perl interpreter. At the
2138
2142
end of compilation of a BLOCK the value of this variable is restored to the
2139
2143
value when the interpreter started to compile the BLOCK.
2140
2144
2145
+ Each time a statement completes being compiled, the current value of
2146
+ C<$^H> is stored with that statement, and can later be retrieved via
2147
+ C<(caller($level))[8]>.
2148
+
2141
2149
When perl begins to parse any block construct that provides a lexical scope
2142
2150
(e.g., eval body, required file, subroutine body, loop body, or conditional
2143
2151
block), the existing value of C<$^H> is saved, but its value is left unchanged.
@@ -2186,6 +2194,10 @@ L<perlpragma>. All the entries are stringified when accessed at
2186
2194
runtime, so only simple values can be accommodated. This means no
2187
2195
pointers to objects, for example.
2188
2196
2197
+ Each time a statement completes being compiled, the current value of
2198
+ C<%^H> is stored with that statement, and can later be retrieved via
2199
+ C<(caller($level))[10]>.
2200
+
2189
2201
When putting items into C<%^H>, in order to avoid conflicting with other
2190
2202
users of the hash there is a convention regarding which keys to use.
2191
2203
A module should use only keys that begin with the module's name (the
0 commit comments