1package ops; 2 3our $VERSION = '1.02'; 4 5use Opcode qw(opmask_add opset invert_opset); 6 7sub 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 15sub unimport { 16 shift; 17 opmask_add(opset(@_)) if @_; 18} 19 201; 21 22__END__ 23 24=head1 NAME 25 26ops - 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 36Since the C<ops> pragma currently has an irreversible global effect, it is 37only of significant practical use with the C<-M> option on the command line. 38 39See the L<Opcode> module for information about opcodes, optags, opmasks 40and important information about safety. 41 42=head1 SEE ALSO 43 44L<Opcode>, L<Safe>, L<perlrun> 45 46=cut 47 48