Perldoc Search: "$^H" perl-5.20.1

search official POD

5 PODs, 16 LINEs found.
885 :             The current set of warning checks enabled by the "use warnings" pragma. It has the same scoping as the $^H and "%^H" variables. The exact values are considered internal to the warnings pragma and may change between versions of Perl.
1034 :     $^H     WARNING: This variable is strictly for internal use only. Its availability, behavior, and contents are subject to change without notice.
1038 :             When perl begins to parse any block construct that provides a lexical scope (e.g., eval body, required file, subroutine body, loop body, or conditional block), the existing value of $^H is saved, but its value is left unchanged. When the compilation of the block is completed, it regains the saved value. Between the points where its value is saved and restored, code that executes within BEGIN blocks is free to change the value of $^H.
1044 :                 sub add_100 { $^H |= 0x100 }
1051 :             Consider what happens during execution of the BEGIN block. At this point the BEGIN block has already been compiled, but the body of "foo()" is still being compiled. The new value of $^H will therefore be visible only while the body of "foo()" is being compiled.
1065 :     %^H     The "%^H" hash provides the same scoping semantic as $^H. This makes it useful for implementation of lexically scoped pragmas. See perlpragma.
93 :         (D deprecated) You defined a character name which had multiple space characters in a row. Change them to single spaces. Usually these names are defined in the ":alias" import argument to "use charnames", but they could be defined by a translator installed into $^H{charnames}. See "CUSTOM ALIASES" in charnames.
750 :     Constant(%s): Call to &{$^H{%s}} did not return a defined value
753 :     Constant(%s): $^H{%s} is not defined
2889 :         (D deprecated) You defined a character name which ended in a space character. Remove the trailing space(s). Usually these names are defined in the ":alias" import argument to "use charnames", but they could be defined by a translator installed into $^H{charnames}. See "CUSTOM ALIASES" in charnames.
73 :             $^H{"myint/in_effect"} = 1;
77 :             $^H{"myint/in_effect"} = 0;
104 :     User pragmata store their state by writing to the magical hash "%^H", hence these two routines manipulate it. The state information in "%^H" is stored in the optree, and can be retrieved read-only at runtime with "caller()", at index 10 of the list of returned results. In the example pragma, retrieval is encapsulated into the routine "in_effect()", which takes as parameter the number of call frames to go up to find the value of the pragma in the user's script. This uses "caller()" to determine the value of $^H{"myint/in_effect"} when each line of the user's script was called, and therefore provide the correct semantics in the subroutine implementing the overloaded addition.
54 :     In order to install a new regexp handler, $^H{regcomp} is set to an integer which (when casted appropriately) resolves to one of these structures. When compiling, the "comp" method is executed, and the resulting "regexp" structure's engine field is expected to point back at the same structure.
436 :     Internally this is set to "NULL" unless a custom engine is specified in $^H{regcomp}, Perl's own set of callbacks can be accessed in the struct pointed to by "RE_ENGINE_PTR".
315 :         Here, $subroutine is the function that the caller called (rather than the function containing the caller). Note that $subroutine may be "(eval)" if the frame is not a subroutine call, but an "eval". In such a case additional elements $evaltext and $is_require are set: $is_require is true if the frame is created by a "require" or "use" statement, $evaltext contains the text of the "eval EXPR" statement. In particular, for an "eval BLOCK" statement, $subroutine is "(eval)", but $evaltext is undefined. (Note also that each "use" statement creates a "require" frame inside an "eval EXPR" frame.) $subroutine may also be "(unknown)" if this particular subroutine happens to have been deleted from the symbol table. $hasargs is true if a new instance of @_ was set up for the frame. $hints and $bitmask contain pragmatic hints that the caller was compiled with. $hints corresponds to $^H, and $bitmask corresponds to "${^WARNING_BITS}". The $hints and $bitmask values are subject to change between versions of Perl, and are not meant for external use.
<< Back to Perldoc Search