Commit | Line | Data |
6badd1a5 |
1 | package ops; |
2 | |
28b605d8 |
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 | |