require 5.002;
-use vars qw($VERSION @ISA @EXPORT_OK);
+use vars qw($VERSION $XS_VERSION @ISA @EXPORT_OK);
-$VERSION = "1.01";
+$VERSION = "1.04";
+$XS_VERSION = "1.03";
use strict;
use Carp;
);
}
+sub opset (;@);
+sub opset_to_hex ($);
+sub opdump (;$);
use subs @EXPORT_OK;
-bootstrap Opcode $VERSION;
+bootstrap Opcode $XS_VERSION;
_init_optags();
-
-*ops_to_opset = \&opset; # alias for old name
-
+sub ops_to_opset { opset @_ } # alias for old name
sub opset_to_hex ($) {
return "(invalid opset)" unless verify_opset($_[0]);
my(%all, %seen);
@all{opset_to_ops(full_opset)} = (); # keys only
+ local($_);
local($/) = "\n=cut"; # skip to optags definition section
<DATA>;
$/ = "\n="; # now read in 'pod section' chunks
formline enterwrite leavewrite
- print sysread syswrite send recv eof tell seek
+ print sysread syswrite send recv
+
+ eof tell seek sysseek
readdir telldir seekdir rewinddir
bless -- could be used to change ownership of objects (reblessing)
- glob
-
pushre regcmaybe regcomp subst substcont
sprintf prtf -- can core dump
rand srand
+=item :base_thread
+
+These ops are related to multi-threading.
+
+ lock threadsv
+
=item :default
A handy tag name for a I<reasonable> default set of ops. (The current ops
allowed are unstable while development continues. It will change.)
- :base_core :base_mem :base_loop :base_io :base_orig
+ :base_core :base_mem :base_loop :base_io :base_orig :base_thread
If safety matters to you (and why else would you be using the Opcode module?)
then you should not rely on the definition of this, or indeed any other, optag!
wait waitpid
+ glob -- access to Cshell via <`rm *`>
+
=item :ownprocess
exec exit kill
mbeattie@sable.ox.ac.uk as part of Safe version 1.
Split out from Safe module version 1, named opcode tags and other
-changes added by Tim Bunce <Tim.Bunce@ig.co.uk>.
+changes added by Tim Bunce E<lt>F<Tim.Bunce@ig.co.uk>E<gt>.
=cut