NAME
pragma - A pragma for controlling other user pragmas
DESCRIPTION
The "pragma" pragma is a module which influences other user pragmata
such as lint. With Perl 5.10 you can create user pragmata and the
"pragma" pragma can modify and peek at other pragmata.
A basic example
Assume you're using the "myint" pragma mentioned in perlpragma. For
ease, that pragma is duplicated here. You'll see it sets the "myint"
value to 1 when on and 0 when off.
package myint;
use strict;
use warnings;
sub import {
$^H{myint} = 1;
}
sub unimport {
$^H{myint} = 0;
}
1;
Other code might casually wish to dip into "myint":
no pragma 'myint'; # delete $^H{myint}
use pragma myint => 42; # $^H{myint} = 42
print pragma->peek( 'myint' ); # prints '42'
The above could have been written without the "pragma" module as:
BEGIN { delete $^H{myint} }
BEGIN { $^H{myint} = 42 }
print $^H{myint};
CLASS METHODS
"use pragma PRAGMA => VALUE"
"pragma->import( PRAGMA => VALUE )"
"pragma->poke( PRAGMA => VALUE )"
Sets "PRAGMA"'s value to "VALUE".
"no pragma PRAGMA"
"pragma->unimport( PRAGMA )"
Unsets "PRAGMA".
"pragma->peek( PRAGMA )"
Returns the current value of "PRAGMA".
SUBCLASSING
All methods may be subclassed.