This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
af3842918f4e16456d61baa3e8e917c7550c6ed3
[perl5.git] / ext / Opcode / ops.pm
1 package ops;
2
3 our $VERSION = '1.01';
4
5 use Opcode qw(opmask_add opset invert_opset);
6
7 sub import {
8     shift;
9     # Not that unimport is the preferred 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.
12     opmask_add(invert_opset opset(@_)) if @_;
13 }
14
15 sub unimport {
16     shift;
17     opmask_add(opset(@_)) if @_;
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
36 Since the ops pragma currently has an irreversible global effect, it is
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