xref: /openbsd-src/gnu/usr.bin/perl/t/lib/mypragma.pm (revision 850e275390052b330d93020bf619a739a3c277ac)
1*850e2753Smillert=head1 NAME
2*850e2753Smillert
3*850e2753Smillertmypragma - an example of a user pragma
4*850e2753Smillert
5*850e2753Smillert=head1 SYNOPSIS
6*850e2753Smillert
7*850e2753SmillertIn your code
8*850e2753Smillert
9*850e2753Smillert    use mypragma; # Enable the pragma
10*850e2753Smillert
11*850e2753Smillert    mypragma::in_effect() # returns true; pragma is enabled
12*850e2753Smillert
13*850e2753Smillert    no mypragma;
14*850e2753Smillert
15*850e2753Smillert    mypragma::in_effect() # returns false; pragma is not enabled
16*850e2753Smillert
17*850e2753Smillert=head1 DESCRIPTION
18*850e2753Smillert
19*850e2753SmillertAn example of how to write a pragma.
20*850e2753Smillert
21*850e2753Smillert=head1 AUTHOR
22*850e2753Smillert
23*850e2753SmillertRafael Garcia-Suarez
24*850e2753Smillert
25*850e2753Smillert=cut
26*850e2753Smillert
27*850e2753Smillertpackage mypragma;
28*850e2753Smillert
29*850e2753Smillertuse strict;
30*850e2753Smillertuse warnings;
31*850e2753Smillert
32*850e2753Smillertsub import {
33*850e2753Smillert    $^H{mypragma} = 42;
34*850e2753Smillert}
35*850e2753Smillert
36*850e2753Smillertsub unimport {
37*850e2753Smillert    $^H{mypragma} = 0;
38*850e2753Smillert}
39*850e2753Smillert
40*850e2753Smillertsub in_effect {
41*850e2753Smillert    my $hinthash = (caller(0))[10];
42*850e2753Smillert    return $hinthash->{mypragma};
43*850e2753Smillert}
44*850e2753Smillert
45*850e2753Smillert1;
46