mirror of
https://github.com/Perl/perl5.git
synced 2026-01-27 01:44:43 +00:00
since 5.8.8, ready for merging into maint-5.8 prior to 5.8.9. (Many (all?) of these should really have been changed prior to 5.10.0, but better late than never.) Also modify cmpVERSION.pl to skip uninstalled test modules whose VERSIONs don't really matter. p4raw-id: //depot/perl@34365
48 lines
997 B
Perl
48 lines
997 B
Perl
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<ops> 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<Opcode> module for information about opcodes, optags, opmasks
|
|
and important information about safety.
|
|
|
|
=head1 SEE ALSO
|
|
|
|
L<Opcode>, L<Safe>, L<perlrun>
|
|
|
|
=cut
|
|
|