package ops; our $VERSION = '1.02'; use Opcode qw(opmask_add opset invert_opset); sub import { shift; # Not that unimport is the preferred form since import's don't # accumulate well owing to the 'only ever add opmask' rule. # E.g., perl -Mops=:set1 -Mops=:setb is unlikely to do as expected. opmask_add(invert_opset opset(@_)) if @_; } sub unimport { shift; opmask_add(opset(@_)) if @_; } 1; __END__ =head1 NAME ops - Perl pragma to restrict unsafe operations when compiling =head1 SYNOPSIS perl -Mops=:default ... # only allow reasonably safe operations perl -M-ops=system ... # disable the 'system' opcode =head1 DESCRIPTION Since the C pragma currently has an irreversible global effect, it is only of significant practical use with the C<-M> option on the command line. See the L module for information about opcodes, optags, opmasks and important information about safety. =head1 SEE ALSO L, L, L =cut