our($VERSION, @ISA, @EXPORT_OK);
-$VERSION = "1.18";
+$VERSION = "1.32";
use Carp;
use Exporter ();
# Split into lines, keep only indented lines
my @lines = grep { m/^\s/ } split(/\n/);
- foreach (@lines) { s/--.*// } # delete comments
+ foreach (@lines) { s/(?:\t|--).*// } # delete comments
my @ops = map { split ' ' } @lines; # get op words
foreach(@ops) {
=head1 TO DO (maybe)
- $bool = opset_eq($opset1, $opset2) true if opsets are logically eqiv
-
+ $bool = opset_eq($opset1, $opset2) true if opsets are logically
+ equivalent
$yes = opset_can($opset, @ops) true if $opset has all @ops set
@diff = opset_diff($opset1, $opset2) => ('foo', '!bar', ...)
rv2sv sassign
- rv2av aassign aelem aelemfast aslice av2arylen
+ rv2av aassign aelem aelemfast aelemfast_lex aslice kvaslice
+ av2arylen
- rv2hv helem hslice each values keys exists delete aeach akeys avalues
- boolkeys reach rvalues rkeys
+ rv2hv helem hslice kvhslice each values keys exists delete
+ aeach akeys avalues reach rvalues rkeys multideref
- preinc i_preinc predec i_predec postinc i_postinc postdec i_postdec
- int hex oct abs pow multiply i_multiply divide i_divide
- modulo i_modulo add i_add subtract i_subtract
+ preinc i_preinc predec i_predec postinc i_postinc
+ postdec i_postdec int hex oct abs pow multiply i_multiply
+ divide i_divide modulo i_modulo add i_add subtract i_subtract
- left_shift right_shift bit_and bit_xor bit_or negate i_negate
- not complement
+ left_shift right_shift bit_and bit_xor bit_or nbit_and
+ nbit_xor nbit_or sbit_and sbit_xor sbit_or negate i_negate not
+ complement ncomplement scomplement
lt i_lt gt i_gt le i_le ge i_ge eq i_eq ne i_ne ncmp i_ncmp
slt sgt sle sge seq sne scmp
substr vec stringify study pos length index rindex ord chr
- ucfirst lcfirst uc lc quotemeta trans transr chop schop chomp schomp
+ ucfirst lcfirst uc lc fc quotemeta trans transr chop schop
+ chomp schomp
match split qr
warn die lineseq nextstate scope enter leave
- rv2cv anoncode prototype
+ rv2cv anoncode prototype coreargs anonconst
- entersub leavesub leavesublv return method method_named -- XXX loops via recursion?
+ entersub leavesub leavesublv return method method_named
+ method_super method_redir method_redir_super
+ -- XXX loops via recursion?
- leaveeval -- needed for Safe to operate, is safe without entereval
+ leaveeval -- needed for Safe to operate, is safe
+ without entereval
=item :base_mem
gvsv gv gelem
- padsv padav padhv padany
+ padsv padav padhv padcv padany padrange introcv clonecv
once
- rv2gv refgen srefgen ref
+ rv2gv refgen srefgen ref refassign lvref lvrefslice lvavref
- bless -- could be used to change ownership of objects (reblessing)
+ bless -- could be used to change ownership of objects
+ (reblessing)
pushre regcmaybe regcreset regcomp subst substcont
sselect select
pipe_op sockpair
- getppid getpgrp setpgrp getpriority setpriority localtime gmtime
+ getppid getpgrp setpgrp getpriority setpriority
+ localtime gmtime
entertry leavetry -- can be used to 'hide' fatal errors
stat lstat readlink
- ftatime ftblk ftchr ftctime ftdir fteexec fteowned fteread
- ftewrite ftfile ftis ftlink ftmtime ftpipe ftrexec ftrowned
- ftrread ftsgid ftsize ftsock ftsuid fttty ftzero ftrwrite ftsvtx
+ ftatime ftblk ftchr ftctime ftdir fteexec fteowned
+ fteread ftewrite ftfile ftis ftlink ftmtime ftpipe
+ ftrexec ftrowned ftrread ftsgid ftsize ftsock ftsuid
+ fttty ftzero ftrwrite ftsvtx
fttext ftbinary
utime chmod chown
- fcntl -- not strictly filesys related, but possibly as dangerous?
+ fcntl -- not strictly filesys related, but possibly as
+ dangerous?
=item :subprocess
about calling environment and args.
require dofile
- caller
+ caller runcv
=item :still_to_be_decided