Commit | Line | Data |
---|---|---|
6badd1a5 | 1 | package ops; |
2 | ||
28b605d8 JH |
3 | our $VERSION = '1.00'; |
4 | ||
6badd1a5 | 5 | use Opcode qw(opmask_add opset invert_opset); |
6 | ||
7 | sub import { | |
8 | shift; | |
9 | # Not that unimport is the prefered form since import's don't | |
10 | # accumulate well owing to the 'only ever add opmask' rule. | |
11 | # E.g., perl -Mops=:set1 -Mops=:setb is unlikely to do as expected. | |
2ea6c7ce | 12 | opmask_add(invert_opset opset(@_)) if @_; |
6badd1a5 | 13 | } |
14 | ||
15 | sub unimport { | |
16 | shift; | |
2ea6c7ce | 17 | opmask_add(opset(@_)) if @_; |
6badd1a5 | 18 | } |
19 | ||
20 | 1; | |
21 | ||
22 | __END__ | |
23 | ||
24 | =head1 NAME | |
25 | ||
26 | ops - Perl pragma to restrict unsafe operations when compiling | |
27 | ||
28 | =head1 SYNOPSIS | |
29 | ||
30 | perl -Mops=:default ... # only allow reasonably safe operations | |
31 | ||
32 | perl -M-ops=system ... # disable the 'system' opcode | |
33 | ||
34 | =head1 DESCRIPTION | |
35 | ||
f610777f | 36 | Since the ops pragma currently has an irreversible global effect, it is |
6badd1a5 | 37 | only of significant practical use with the C<-M> option on the command line. |
38 | ||
39 | See the L<Opcode> module for information about opcodes, optags, opmasks | |
40 | and important information about safety. | |
41 | ||
42 | =head1 SEE ALSO | |
43 | ||
44 | Opcode(3), Safe(3), perlrun(3) | |
45 | ||
46 | =cut | |
47 |