make mad/PLXML.pm use strict
Gerard Goossen [Thu, 19 Apr 2007 14:56:13 +0000 (16:56 +0200)]
Message-ID: <20070419125613.GF19244@ostwald>

p4raw-id: //depot/perl@31108

mad/PLXML.pm

index 590d0ff..feaf58f 100644 (file)
@@ -1,3 +1,6 @@
+use strict;
+use warnings;
+
 package PLXML;
 
 sub DESTROY { }
@@ -8,83 +11,83 @@ sub walk {
     for my $key (sort keys %$self) {
        print "\t$key = <$$self{$key}>\n";
     }
-    foreach $kid (@{$$self{Kids}}) {
+    foreach my $kid (@{$$self{Kids}}) {
        $kid->walk(@_);
     }
 }
 
 package PLXML::Characters;
 
-@ISA = ('PLXML');
+our @ISA = ('PLXML');
 sub walk {}
 
 package PLXML::madprops;
 
-@ISA = ('PLXML');
+our @ISA = ('PLXML');
 
 package PLXML::mad_op;
 
-@ISA = ('PLXML');
+our @ISA = ('PLXML');
 
 package PLXML::mad_pv;
 
-@ISA = ('PLXML');
+our @ISA = ('PLXML');
 
 package PLXML::baseop;
 
-@ISA = ('PLXML');
+our @ISA = ('PLXML');
 
 package PLXML::baseop_unop;
 
-@ISA = ('PLXML');
+our @ISA = ('PLXML');
 
 package PLXML::binop;
 
-@ISA = ('PLXML');
+our @ISA = ('PLXML');
 
 package PLXML::cop;
 
-@ISA = ('PLXML');
+our @ISA = ('PLXML');
 
 package PLXML::filestatop;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 package PLXML::listop;
 
-@ISA = ('PLXML');
+our @ISA = ('PLXML');
 
 package PLXML::logop;
 
-@ISA = ('PLXML');
+our @ISA = ('PLXML');
 
 package PLXML::loop;
 
-@ISA = ('PLXML');
+our @ISA = ('PLXML');
 
 package PLXML::loopexop;
 
-@ISA = ('PLXML');
+our @ISA = ('PLXML');
 
 package PLXML::padop;
 
-@ISA = ('PLXML');
+our @ISA = ('PLXML');
 
 package PLXML::padop_svop;
 
-@ISA = ('PLXML');
+our @ISA = ('PLXML');
 
 package PLXML::pmop;
 
-@ISA = ('PLXML');
+our @ISA = ('PLXML');
 
 package PLXML::pvop_svop;
 
-@ISA = ('PLXML');
+our @ISA = ('PLXML');
 
 package PLXML::unop;
 
-@ISA = ('PLXML');
+our @ISA = ('PLXML');
 
 
 # New ops always go at the end, just before 'custom'
@@ -124,7 +127,7 @@ package PLXML::unop;
 
 package PLXML::op_null;
 
-@ISA = ('PLXML::baseop');
+our @ISA = ('PLXML::baseop');
 
 sub key { 'null' }
 sub desc { 'null operation' }
@@ -135,7 +138,7 @@ sub args { '' }
 
 package PLXML::op_stub;
 
-@ISA = ('PLXML::baseop');
+our @ISA = ('PLXML::baseop');
 
 sub key { 'stub' }
 sub desc { 'stub' }
@@ -146,7 +149,7 @@ sub args { '' }
 
 package PLXML::op_scalar;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'scalar' }
 sub desc { 'scalar' }
@@ -160,7 +163,7 @@ sub args { 'S' }
 
 package PLXML::op_pushmark;
 
-@ISA = ('PLXML::baseop');
+our @ISA = ('PLXML::baseop');
 
 sub key { 'pushmark' }
 sub desc { 'pushmark' }
@@ -171,7 +174,7 @@ sub args { '' }
 
 package PLXML::op_wantarray;
 
-@ISA = ('PLXML::baseop');
+our @ISA = ('PLXML::baseop');
 
 sub key { 'wantarray' }
 sub desc { 'wantarray' }
@@ -183,7 +186,7 @@ sub args { '' }
 
 package PLXML::op_const;
 
-@ISA = ('PLXML::padop_svop');
+our @ISA = ('PLXML::padop_svop');
 
 sub key { 'const' }
 sub desc { 'constant item' }
@@ -195,7 +198,7 @@ sub args { '' }
 
 package PLXML::op_gvsv;
 
-@ISA = ('PLXML::padop_svop');
+our @ISA = ('PLXML::padop_svop');
 
 sub key { 'gvsv' }
 sub desc { 'scalar variable' }
@@ -206,7 +209,7 @@ sub args { '' }
 
 package PLXML::op_gv;
 
-@ISA = ('PLXML::padop_svop');
+our @ISA = ('PLXML::padop_svop');
 
 sub key { 'gv' }
 sub desc { 'glob value' }
@@ -217,7 +220,7 @@ sub args { '' }
 
 package PLXML::op_gelem;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'gelem' }
 sub desc { 'glob elem' }
@@ -228,7 +231,7 @@ sub args { 'S S' }
 
 package PLXML::op_padsv;
 
-@ISA = ('PLXML::baseop');
+our @ISA = ('PLXML::baseop');
 
 sub key { 'padsv' }
 sub desc { 'private variable' }
@@ -239,7 +242,7 @@ sub args { '' }
 
 package PLXML::op_padav;
 
-@ISA = ('PLXML::baseop');
+our @ISA = ('PLXML::baseop');
 
 sub key { 'padav' }
 sub desc { 'private array' }
@@ -250,7 +253,7 @@ sub args { '' }
 
 package PLXML::op_padhv;
 
-@ISA = ('PLXML::baseop');
+our @ISA = ('PLXML::baseop');
 
 sub key { 'padhv' }
 sub desc { 'private hash' }
@@ -261,7 +264,7 @@ sub args { '' }
 
 package PLXML::op_padany;
 
-@ISA = ('PLXML::baseop');
+our @ISA = ('PLXML::baseop');
 
 sub key { 'padany' }
 sub desc { 'private value' }
@@ -273,7 +276,7 @@ sub args { '' }
 
 package PLXML::op_pushre;
 
-@ISA = ('PLXML::pmop');
+our @ISA = ('PLXML::pmop');
 
 sub key { 'pushre' }
 sub desc { 'push regexp' }
@@ -287,7 +290,7 @@ sub args { '' }
 
 package PLXML::op_rv2gv;
 
-@ISA = ('PLXML::unop');
+our @ISA = ('PLXML::unop');
 
 sub key { 'rv2gv' }
 sub desc { 'ref-to-glob cast' }
@@ -298,7 +301,7 @@ sub args { '' }
 
 package PLXML::op_rv2sv;
 
-@ISA = ('PLXML::unop');
+our @ISA = ('PLXML::unop');
 
 sub key { 'rv2sv' }
 sub desc { 'scalar dereference' }
@@ -309,7 +312,7 @@ sub args { '' }
 
 package PLXML::op_av2arylen;
 
-@ISA = ('PLXML::unop');
+our @ISA = ('PLXML::unop');
 
 sub key { 'av2arylen' }
 sub desc { 'array length' }
@@ -320,7 +323,7 @@ sub args { '' }
 
 package PLXML::op_rv2cv;
 
-@ISA = ('PLXML::unop');
+our @ISA = ('PLXML::unop');
 
 sub key { 'rv2cv' }
 sub desc { 'subroutine dereference' }
@@ -331,7 +334,7 @@ sub args { '' }
 
 package PLXML::op_anoncode;
 
-@ISA = ('PLXML::padop_svop');
+our @ISA = ('PLXML::padop_svop');
 
 sub key { 'anoncode' }
 sub desc { 'anonymous subroutine' }
@@ -342,7 +345,7 @@ sub args { '' }
 
 package PLXML::op_prototype;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'prototype' }
 sub desc { 'subroutine prototype' }
@@ -353,7 +356,7 @@ sub args { 'S' }
 
 package PLXML::op_refgen;
 
-@ISA = ('PLXML::unop');
+our @ISA = ('PLXML::unop');
 
 sub key { 'refgen' }
 sub desc { 'reference constructor' }
@@ -364,7 +367,7 @@ sub args { 'L' }
 
 package PLXML::op_srefgen;
 
-@ISA = ('PLXML::unop');
+our @ISA = ('PLXML::unop');
 
 sub key { 'srefgen' }
 sub desc { 'single ref constructor' }
@@ -375,7 +378,7 @@ sub args { 'S' }
 
 package PLXML::op_ref;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'ref' }
 sub desc { 'reference-type operator' }
@@ -386,7 +389,7 @@ sub args { 'S?' }
 
 package PLXML::op_bless;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'bless' }
 sub desc { 'bless' }
@@ -400,7 +403,7 @@ sub args { 'S S?' }
 
 package PLXML::op_backtick;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'backtick' }
 sub desc { 'quoted execution (``, qx)' }
@@ -412,7 +415,7 @@ sub args { '' }
 # glob defaults its first arg to $_
 package PLXML::op_glob;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'glob' }
 sub desc { 'glob' }
@@ -423,7 +426,7 @@ sub args { 'S?' }
 
 package PLXML::op_readline;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'readline' }
 sub desc { '<HANDLE>' }
@@ -434,7 +437,7 @@ sub args { 'F?' }
 
 package PLXML::op_rcatline;
 
-@ISA = ('PLXML::padop_svop');
+our @ISA = ('PLXML::padop_svop');
 
 sub key { 'rcatline' }
 sub desc { 'append I/O operator' }
@@ -448,7 +451,7 @@ sub args { '' }
 
 package PLXML::op_regcmaybe;
 
-@ISA = ('PLXML::unop');
+our @ISA = ('PLXML::unop');
 
 sub key { 'regcmaybe' }
 sub desc { 'regexp internal guard' }
@@ -459,7 +462,7 @@ sub args { 'S' }
 
 package PLXML::op_regcreset;
 
-@ISA = ('PLXML::unop');
+our @ISA = ('PLXML::unop');
 
 sub key { 'regcreset' }
 sub desc { 'regexp internal reset' }
@@ -470,7 +473,7 @@ sub args { 'S' }
 
 package PLXML::op_regcomp;
 
-@ISA = ('PLXML::logop');
+our @ISA = ('PLXML::logop');
 
 sub key { 'regcomp' }
 sub desc { 'regexp compilation' }
@@ -481,7 +484,7 @@ sub args { 'S' }
 
 package PLXML::op_match;
 
-@ISA = ('PLXML::pmop');
+our @ISA = ('PLXML::pmop');
 
 sub key { 'match' }
 sub desc { 'pattern match (m//)' }
@@ -492,7 +495,7 @@ sub args { '' }
 
 package PLXML::op_qr;
 
-@ISA = ('PLXML::pmop');
+our @ISA = ('PLXML::pmop');
 
 sub key { 'qr' }
 sub desc { 'pattern quote (qr//)' }
@@ -503,7 +506,7 @@ sub args { '' }
 
 package PLXML::op_subst;
 
-@ISA = ('PLXML::pmop');
+our @ISA = ('PLXML::pmop');
 
 sub key { 'subst' }
 sub desc { 'substitution (s///)' }
@@ -514,7 +517,7 @@ sub args { 'S' }
 
 package PLXML::op_substcont;
 
-@ISA = ('PLXML::logop');
+our @ISA = ('PLXML::logop');
 
 sub key { 'substcont' }
 sub desc { 'substitution iterator' }
@@ -525,7 +528,7 @@ sub args { '' }
 
 package PLXML::op_trans;
 
-@ISA = ('PLXML::pvop_svop');
+our @ISA = ('PLXML::pvop_svop');
 
 sub key { 'trans' }
 sub desc { 'transliteration (tr///)' }
@@ -540,7 +543,7 @@ sub args { 'S' }
 
 package PLXML::op_sassign;
 
-@ISA = ('PLXML::baseop');
+our @ISA = ('PLXML::baseop');
 
 sub key { 'sassign' }
 sub desc { 'scalar assignment' }
@@ -551,7 +554,7 @@ sub args { '' }
 
 package PLXML::op_aassign;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'aassign' }
 sub desc { 'list assignment' }
@@ -563,7 +566,7 @@ sub args { 'L L' }
 
 package PLXML::op_chop;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'chop' }
 sub desc { 'chop' }
@@ -574,7 +577,7 @@ sub args { 'L' }
 
 package PLXML::op_schop;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'schop' }
 sub desc { 'scalar chop' }
@@ -585,7 +588,7 @@ sub args { 'S?' }
 
 package PLXML::op_chomp;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'chomp' }
 sub desc { 'chomp' }
@@ -596,7 +599,7 @@ sub args { 'L' }
 
 package PLXML::op_schomp;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'schomp' }
 sub desc { 'scalar chomp' }
@@ -607,7 +610,7 @@ sub args { 'S?' }
 
 package PLXML::op_defined;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'defined' }
 sub desc { 'defined operator' }
@@ -618,7 +621,7 @@ sub args { 'S?' }
 
 package PLXML::op_undef;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'undef' }
 sub desc { 'undef operator' }
@@ -629,7 +632,7 @@ sub args { 'S?' }
 
 package PLXML::op_study;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'study' }
 sub desc { 'study' }
@@ -640,7 +643,7 @@ sub args { 'S?' }
 
 package PLXML::op_pos;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'pos' }
 sub desc { 'match position' }
@@ -652,7 +655,7 @@ sub args { 'S?' }
 
 package PLXML::op_preinc;
 
-@ISA = ('PLXML::unop');
+our @ISA = ('PLXML::unop');
 
 sub key { 'preinc' }
 sub desc { 'preincrement (++)' }
@@ -663,7 +666,7 @@ sub args { 'S' }
 
 package PLXML::op_i_preinc;
 
-@ISA = ('PLXML::unop');
+our @ISA = ('PLXML::unop');
 
 sub key { 'i_preinc' }
 sub desc { 'integer preincrement (++)' }
@@ -674,7 +677,7 @@ sub args { 'S' }
 
 package PLXML::op_predec;
 
-@ISA = ('PLXML::unop');
+our @ISA = ('PLXML::unop');
 
 sub key { 'predec' }
 sub desc { 'predecrement (--)' }
@@ -685,7 +688,7 @@ sub args { 'S' }
 
 package PLXML::op_i_predec;
 
-@ISA = ('PLXML::unop');
+our @ISA = ('PLXML::unop');
 
 sub key { 'i_predec' }
 sub desc { 'integer predecrement (--)' }
@@ -696,7 +699,7 @@ sub args { 'S' }
 
 package PLXML::op_postinc;
 
-@ISA = ('PLXML::unop');
+our @ISA = ('PLXML::unop');
 
 sub key { 'postinc' }
 sub desc { 'postincrement (++)' }
@@ -707,7 +710,7 @@ sub args { 'S' }
 
 package PLXML::op_i_postinc;
 
-@ISA = ('PLXML::unop');
+our @ISA = ('PLXML::unop');
 
 sub key { 'i_postinc' }
 sub desc { 'integer postincrement (++)' }
@@ -718,7 +721,7 @@ sub args { 'S' }
 
 package PLXML::op_postdec;
 
-@ISA = ('PLXML::unop');
+our @ISA = ('PLXML::unop');
 
 sub key { 'postdec' }
 sub desc { 'postdecrement (--)' }
@@ -729,7 +732,7 @@ sub args { 'S' }
 
 package PLXML::op_i_postdec;
 
-@ISA = ('PLXML::unop');
+our @ISA = ('PLXML::unop');
 
 sub key { 'i_postdec' }
 sub desc { 'integer postdecrement (--)' }
@@ -743,7 +746,7 @@ sub args { 'S' }
 
 package PLXML::op_pow;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'pow' }
 sub desc { 'exponentiation (**)' }
@@ -755,7 +758,7 @@ sub args { 'S S' }
 
 package PLXML::op_multiply;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'multiply' }
 sub desc { 'multiplication (*)' }
@@ -766,7 +769,7 @@ sub args { 'S S' }
 
 package PLXML::op_i_multiply;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'i_multiply' }
 sub desc { 'integer multiplication (*)' }
@@ -777,7 +780,7 @@ sub args { 'S S' }
 
 package PLXML::op_divide;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'divide' }
 sub desc { 'division (/)' }
@@ -788,7 +791,7 @@ sub args { 'S S' }
 
 package PLXML::op_i_divide;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'i_divide' }
 sub desc { 'integer division (/)' }
@@ -799,7 +802,7 @@ sub args { 'S S' }
 
 package PLXML::op_modulo;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'modulo' }
 sub desc { 'modulus (%)' }
@@ -810,7 +813,7 @@ sub args { 'S S' }
 
 package PLXML::op_i_modulo;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'i_modulo' }
 sub desc { 'integer modulus (%)' }
@@ -821,7 +824,7 @@ sub args { 'S S' }
 
 package PLXML::op_repeat;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'repeat' }
 sub desc { 'repeat (x)' }
@@ -833,7 +836,7 @@ sub args { 'L S' }
 
 package PLXML::op_add;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'add' }
 sub desc { 'addition (+)' }
@@ -844,7 +847,7 @@ sub args { 'S S' }
 
 package PLXML::op_i_add;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'i_add' }
 sub desc { 'integer addition (+)' }
@@ -855,7 +858,7 @@ sub args { 'S S' }
 
 package PLXML::op_subtract;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'subtract' }
 sub desc { 'subtraction (-)' }
@@ -866,7 +869,7 @@ sub args { 'S S' }
 
 package PLXML::op_i_subtract;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'i_subtract' }
 sub desc { 'integer subtraction (-)' }
@@ -877,7 +880,7 @@ sub args { 'S S' }
 
 package PLXML::op_concat;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'concat' }
 sub desc { 'concatenation (.) or string' }
@@ -888,7 +891,7 @@ sub args { 'S S' }
 
 package PLXML::op_stringify;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'stringify' }
 sub desc { 'string' }
@@ -900,7 +903,7 @@ sub args { 'S' }
 
 package PLXML::op_left_shift;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'left_shift' }
 sub desc { 'left bitshift (<<)' }
@@ -911,7 +914,7 @@ sub args { 'S S' }
 
 package PLXML::op_right_shift;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'right_shift' }
 sub desc { 'right bitshift (>>)' }
@@ -923,7 +926,7 @@ sub args { 'S S' }
 
 package PLXML::op_lt;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'lt' }
 sub desc { 'numeric lt (<)' }
@@ -934,7 +937,7 @@ sub args { 'S S' }
 
 package PLXML::op_i_lt;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'i_lt' }
 sub desc { 'integer lt (<)' }
@@ -945,7 +948,7 @@ sub args { 'S S' }
 
 package PLXML::op_gt;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'gt' }
 sub desc { 'numeric gt (>)' }
@@ -956,7 +959,7 @@ sub args { 'S S' }
 
 package PLXML::op_i_gt;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'i_gt' }
 sub desc { 'integer gt (>)' }
@@ -967,7 +970,7 @@ sub args { 'S S' }
 
 package PLXML::op_le;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'le' }
 sub desc { 'numeric le (<=)' }
@@ -978,7 +981,7 @@ sub args { 'S S' }
 
 package PLXML::op_i_le;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'i_le' }
 sub desc { 'integer le (<=)' }
@@ -989,7 +992,7 @@ sub args { 'S S' }
 
 package PLXML::op_ge;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'ge' }
 sub desc { 'numeric ge (>=)' }
@@ -1000,7 +1003,7 @@ sub args { 'S S' }
 
 package PLXML::op_i_ge;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'i_ge' }
 sub desc { 'integer ge (>=)' }
@@ -1011,7 +1014,7 @@ sub args { 'S S' }
 
 package PLXML::op_eq;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'eq' }
 sub desc { 'numeric eq (==)' }
@@ -1022,7 +1025,7 @@ sub args { 'S S' }
 
 package PLXML::op_i_eq;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'i_eq' }
 sub desc { 'integer eq (==)' }
@@ -1033,7 +1036,7 @@ sub args { 'S S' }
 
 package PLXML::op_ne;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'ne' }
 sub desc { 'numeric ne (!=)' }
@@ -1044,7 +1047,7 @@ sub args { 'S S' }
 
 package PLXML::op_i_ne;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'i_ne' }
 sub desc { 'integer ne (!=)' }
@@ -1055,7 +1058,7 @@ sub args { 'S S' }
 
 package PLXML::op_ncmp;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'ncmp' }
 sub desc { 'numeric comparison (<=>)' }
@@ -1066,7 +1069,7 @@ sub args { 'S S' }
 
 package PLXML::op_i_ncmp;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'i_ncmp' }
 sub desc { 'integer comparison (<=>)' }
@@ -1078,7 +1081,7 @@ sub args { 'S S' }
 
 package PLXML::op_slt;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'slt' }
 sub desc { 'string lt' }
@@ -1089,7 +1092,7 @@ sub args { 'S S' }
 
 package PLXML::op_sgt;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'sgt' }
 sub desc { 'string gt' }
@@ -1100,7 +1103,7 @@ sub args { 'S S' }
 
 package PLXML::op_sle;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'sle' }
 sub desc { 'string le' }
@@ -1111,7 +1114,7 @@ sub args { 'S S' }
 
 package PLXML::op_sge;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'sge' }
 sub desc { 'string ge' }
@@ -1122,7 +1125,7 @@ sub args { 'S S' }
 
 package PLXML::op_seq;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'seq' }
 sub desc { 'string eq' }
@@ -1133,7 +1136,7 @@ sub args { 'S S' }
 
 package PLXML::op_sne;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'sne' }
 sub desc { 'string ne' }
@@ -1144,7 +1147,7 @@ sub args { 'S S' }
 
 package PLXML::op_scmp;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'scmp' }
 sub desc { 'string comparison (cmp)' }
@@ -1156,7 +1159,7 @@ sub args { 'S S' }
 
 package PLXML::op_bit_and;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'bit_and' }
 sub desc { 'bitwise and (&)' }
@@ -1167,7 +1170,7 @@ sub args { 'S S' }
 
 package PLXML::op_bit_xor;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'bit_xor' }
 sub desc { 'bitwise xor (^)' }
@@ -1178,7 +1181,7 @@ sub args { 'S S' }
 
 package PLXML::op_bit_or;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'bit_or' }
 sub desc { 'bitwise or (|)' }
@@ -1190,7 +1193,7 @@ sub args { 'S S' }
 
 package PLXML::op_negate;
 
-@ISA = ('PLXML::unop');
+our @ISA = ('PLXML::unop');
 
 sub key { 'negate' }
 sub desc { 'negation (-)' }
@@ -1201,7 +1204,7 @@ sub args { 'S' }
 
 package PLXML::op_i_negate;
 
-@ISA = ('PLXML::unop');
+our @ISA = ('PLXML::unop');
 
 sub key { 'i_negate' }
 sub desc { 'integer negation (-)' }
@@ -1212,7 +1215,7 @@ sub args { 'S' }
 
 package PLXML::op_not;
 
-@ISA = ('PLXML::unop');
+our @ISA = ('PLXML::unop');
 
 sub key { 'not' }
 sub desc { 'not' }
@@ -1223,7 +1226,7 @@ sub args { 'S' }
 
 package PLXML::op_complement;
 
-@ISA = ('PLXML::unop');
+our @ISA = ('PLXML::unop');
 
 sub key { 'complement' }
 sub desc { '1\'s complement (~)' }
@@ -1237,7 +1240,7 @@ sub args { 'S' }
 
 package PLXML::op_atan2;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'atan2' }
 sub desc { 'atan2' }
@@ -1248,7 +1251,7 @@ sub args { 'S S' }
 
 package PLXML::op_sin;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'sin' }
 sub desc { 'sin' }
@@ -1259,7 +1262,7 @@ sub args { 'S?' }
 
 package PLXML::op_cos;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'cos' }
 sub desc { 'cos' }
@@ -1270,7 +1273,7 @@ sub args { 'S?' }
 
 package PLXML::op_rand;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'rand' }
 sub desc { 'rand' }
@@ -1281,7 +1284,7 @@ sub args { 'S?' }
 
 package PLXML::op_srand;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'srand' }
 sub desc { 'srand' }
@@ -1292,7 +1295,7 @@ sub args { 'S?' }
 
 package PLXML::op_exp;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'exp' }
 sub desc { 'exp' }
@@ -1303,7 +1306,7 @@ sub args { 'S?' }
 
 package PLXML::op_log;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'log' }
 sub desc { 'log' }
@@ -1314,7 +1317,7 @@ sub args { 'S?' }
 
 package PLXML::op_sqrt;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'sqrt' }
 sub desc { 'sqrt' }
@@ -1328,7 +1331,7 @@ sub args { 'S?' }
 
 package PLXML::op_int;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'int' }
 sub desc { 'int' }
@@ -1339,7 +1342,7 @@ sub args { 'S?' }
 
 package PLXML::op_hex;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'hex' }
 sub desc { 'hex' }
@@ -1350,7 +1353,7 @@ sub args { 'S?' }
 
 package PLXML::op_oct;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'oct' }
 sub desc { 'oct' }
@@ -1361,7 +1364,7 @@ sub args { 'S?' }
 
 package PLXML::op_abs;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'abs' }
 sub desc { 'abs' }
@@ -1375,7 +1378,7 @@ sub args { 'S?' }
 
 package PLXML::op_length;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'length' }
 sub desc { 'length' }
@@ -1386,7 +1389,7 @@ sub args { 'S?' }
 
 package PLXML::op_substr;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'substr' }
 sub desc { 'substr' }
@@ -1397,7 +1400,7 @@ sub args { 'S S S? S?' }
 
 package PLXML::op_vec;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'vec' }
 sub desc { 'vec' }
@@ -1409,7 +1412,7 @@ sub args { 'S S S' }
 
 package PLXML::op_index;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'index' }
 sub desc { 'index' }
@@ -1420,7 +1423,7 @@ sub args { 'S S S?' }
 
 package PLXML::op_rindex;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'rindex' }
 sub desc { 'rindex' }
@@ -1432,7 +1435,7 @@ sub args { 'S S S?' }
 
 package PLXML::op_sprintf;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'sprintf' }
 sub desc { 'sprintf' }
@@ -1443,7 +1446,7 @@ sub args { 'S L' }
 
 package PLXML::op_formline;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'formline' }
 sub desc { 'formline' }
@@ -1454,7 +1457,7 @@ sub args { 'S L' }
 
 package PLXML::op_ord;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'ord' }
 sub desc { 'ord' }
@@ -1465,7 +1468,7 @@ sub args { 'S?' }
 
 package PLXML::op_chr;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'chr' }
 sub desc { 'chr' }
@@ -1476,7 +1479,7 @@ sub args { 'S?' }
 
 package PLXML::op_crypt;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'crypt' }
 sub desc { 'crypt' }
@@ -1487,7 +1490,7 @@ sub args { 'S S' }
 
 package PLXML::op_ucfirst;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'ucfirst' }
 sub desc { 'ucfirst' }
@@ -1498,7 +1501,7 @@ sub args { 'S?' }
 
 package PLXML::op_lcfirst;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'lcfirst' }
 sub desc { 'lcfirst' }
@@ -1509,7 +1512,7 @@ sub args { 'S?' }
 
 package PLXML::op_uc;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'uc' }
 sub desc { 'uc' }
@@ -1520,7 +1523,7 @@ sub args { 'S?' }
 
 package PLXML::op_lc;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'lc' }
 sub desc { 'lc' }
@@ -1531,7 +1534,7 @@ sub args { 'S?' }
 
 package PLXML::op_quotemeta;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'quotemeta' }
 sub desc { 'quotemeta' }
@@ -1545,7 +1548,7 @@ sub args { 'S?' }
 
 package PLXML::op_rv2av;
 
-@ISA = ('PLXML::unop');
+our @ISA = ('PLXML::unop');
 
 sub key { 'rv2av' }
 sub desc { 'array dereference' }
@@ -1556,7 +1559,7 @@ sub args { '' }
 
 package PLXML::op_aelemfast;
 
-@ISA = ('PLXML::padop_svop');
+our @ISA = ('PLXML::padop_svop');
 
 sub key { 'aelemfast' }
 sub desc { 'constant array element' }
@@ -1567,7 +1570,7 @@ sub args { 'A S' }
 
 package PLXML::op_aelem;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'aelem' }
 sub desc { 'array element' }
@@ -1578,7 +1581,7 @@ sub args { 'A S' }
 
 package PLXML::op_aslice;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'aslice' }
 sub desc { 'array slice' }
@@ -1592,7 +1595,7 @@ sub args { 'A L' }
 
 package PLXML::op_each;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'each' }
 sub desc { 'each' }
@@ -1603,7 +1606,7 @@ sub args { 'H' }
 
 package PLXML::op_values;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'values' }
 sub desc { 'values' }
@@ -1614,7 +1617,7 @@ sub args { 'H' }
 
 package PLXML::op_keys;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'keys' }
 sub desc { 'keys' }
@@ -1625,7 +1628,7 @@ sub args { 'H' }
 
 package PLXML::op_delete;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'delete' }
 sub desc { 'delete' }
@@ -1636,7 +1639,7 @@ sub args { 'S' }
 
 package PLXML::op_exists;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'exists' }
 sub desc { 'exists' }
@@ -1647,7 +1650,7 @@ sub args { 'S' }
 
 package PLXML::op_rv2hv;
 
-@ISA = ('PLXML::unop');
+our @ISA = ('PLXML::unop');
 
 sub key { 'rv2hv' }
 sub desc { 'hash dereference' }
@@ -1658,7 +1661,7 @@ sub args { '' }
 
 package PLXML::op_helem;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'helem' }
 sub desc { 'hash element' }
@@ -1669,7 +1672,7 @@ sub args { 'H S' }
 
 package PLXML::op_hslice;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'hslice' }
 sub desc { 'hash slice' }
@@ -1683,7 +1686,7 @@ sub args { 'H L' }
 
 package PLXML::op_unpack;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'unpack' }
 sub desc { 'unpack' }
@@ -1694,7 +1697,7 @@ sub args { 'S S?' }
 
 package PLXML::op_pack;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'pack' }
 sub desc { 'pack' }
@@ -1705,7 +1708,7 @@ sub args { 'S L' }
 
 package PLXML::op_split;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'split' }
 sub desc { 'split' }
@@ -1716,7 +1719,7 @@ sub args { 'S S S' }
 
 package PLXML::op_join;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'join' }
 sub desc { 'join or string' }
@@ -1730,7 +1733,7 @@ sub args { 'S L' }
 
 package PLXML::op_list;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'list' }
 sub desc { 'list' }
@@ -1741,7 +1744,7 @@ sub args { 'L' }
 
 package PLXML::op_lslice;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'lslice' }
 sub desc { 'list slice' }
@@ -1752,7 +1755,7 @@ sub args { 'H L L' }
 
 package PLXML::op_anonlist;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'anonlist' }
 sub desc { 'anonymous list ([])' }
@@ -1763,7 +1766,7 @@ sub args { 'L' }
 
 package PLXML::op_anonhash;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'anonhash' }
 sub desc { 'anonymous hash ({})' }
@@ -1775,7 +1778,7 @@ sub args { 'L' }
 
 package PLXML::op_splice;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'splice' }
 sub desc { 'splice' }
@@ -1786,7 +1789,7 @@ sub args { 'A S? S? L' }
 
 package PLXML::op_push;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'push' }
 sub desc { 'push' }
@@ -1797,7 +1800,7 @@ sub args { 'A L' }
 
 package PLXML::op_pop;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'pop' }
 sub desc { 'pop' }
@@ -1808,7 +1811,7 @@ sub args { 'A?' }
 
 package PLXML::op_shift;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'shift' }
 sub desc { 'shift' }
@@ -1819,7 +1822,7 @@ sub args { 'A?' }
 
 package PLXML::op_unshift;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'unshift' }
 sub desc { 'unshift' }
@@ -1830,7 +1833,7 @@ sub args { 'A L' }
 
 package PLXML::op_sort;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'sort' }
 sub desc { 'sort' }
@@ -1841,7 +1844,7 @@ sub args { 'C? L' }
 
 package PLXML::op_reverse;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'reverse' }
 sub desc { 'reverse' }
@@ -1853,7 +1856,7 @@ sub args { 'L' }
 
 package PLXML::op_grepstart;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'grepstart' }
 sub desc { 'grep' }
@@ -1864,7 +1867,7 @@ sub args { 'C L' }
 
 package PLXML::op_grepwhile;
 
-@ISA = ('PLXML::logop');
+our @ISA = ('PLXML::logop');
 
 sub key { 'grepwhile' }
 sub desc { 'grep iterator' }
@@ -1876,7 +1879,7 @@ sub args { '' }
 
 package PLXML::op_mapstart;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'mapstart' }
 sub desc { 'map' }
@@ -1887,7 +1890,7 @@ sub args { 'C L' }
 
 package PLXML::op_mapwhile;
 
-@ISA = ('PLXML::logop');
+our @ISA = ('PLXML::logop');
 
 sub key { 'mapwhile' }
 sub desc { 'map iterator' }
@@ -1901,7 +1904,7 @@ sub args { '' }
 
 package PLXML::op_range;
 
-@ISA = ('PLXML::logop');
+our @ISA = ('PLXML::logop');
 
 sub key { 'range' }
 sub desc { 'flipflop' }
@@ -1912,7 +1915,7 @@ sub args { 'S S' }
 
 package PLXML::op_flip;
 
-@ISA = ('PLXML::unop');
+our @ISA = ('PLXML::unop');
 
 sub key { 'flip' }
 sub desc { 'range (or flip)' }
@@ -1923,7 +1926,7 @@ sub args { 'S S' }
 
 package PLXML::op_flop;
 
-@ISA = ('PLXML::unop');
+our @ISA = ('PLXML::unop');
 
 sub key { 'flop' }
 sub desc { 'range (or flop)' }
@@ -1937,7 +1940,7 @@ sub args { '' }
 
 package PLXML::op_and;
 
-@ISA = ('PLXML::logop');
+our @ISA = ('PLXML::logop');
 
 sub key { 'and' }
 sub desc { 'logical and (&&)' }
@@ -1948,7 +1951,7 @@ sub args { '' }
 
 package PLXML::op_or;
 
-@ISA = ('PLXML::logop');
+our @ISA = ('PLXML::logop');
 
 sub key { 'or' }
 sub desc { 'logical or (||)' }
@@ -1959,7 +1962,7 @@ sub args { '' }
 
 package PLXML::op_xor;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'xor' }
 sub desc { 'logical xor' }
@@ -1970,7 +1973,7 @@ sub args { 'S S   ' }
 
 package PLXML::op_cond_expr;
 
-@ISA = ('PLXML::logop');
+our @ISA = ('PLXML::logop');
 
 sub key { 'cond_expr' }
 sub desc { 'conditional expression' }
@@ -1981,7 +1984,7 @@ sub args { '' }
 
 package PLXML::op_andassign;
 
-@ISA = ('PLXML::logop');
+our @ISA = ('PLXML::logop');
 
 sub key { 'andassign' }
 sub desc { 'logical and assignment (&&=)' }
@@ -1992,7 +1995,7 @@ sub args { '' }
 
 package PLXML::op_orassign;
 
-@ISA = ('PLXML::logop');
+our @ISA = ('PLXML::logop');
 
 sub key { 'orassign' }
 sub desc { 'logical or assignment (||=)' }
@@ -2004,7 +2007,7 @@ sub args { '' }
 
 package PLXML::op_method;
 
-@ISA = ('PLXML::unop');
+our @ISA = ('PLXML::unop');
 
 sub key { 'method' }
 sub desc { 'method lookup' }
@@ -2015,7 +2018,7 @@ sub args { '' }
 
 package PLXML::op_entersub;
 
-@ISA = ('PLXML::unop');
+our @ISA = ('PLXML::unop');
 
 sub key { 'entersub' }
 sub desc { 'subroutine entry' }
@@ -2026,7 +2029,7 @@ sub args { 'L' }
 
 package PLXML::op_leavesub;
 
-@ISA = ('PLXML::unop');
+our @ISA = ('PLXML::unop');
 
 sub key { 'leavesub' }
 sub desc { 'subroutine exit' }
@@ -2037,7 +2040,7 @@ sub args { '' }
 
 package PLXML::op_leavesublv;
 
-@ISA = ('PLXML::unop');
+our @ISA = ('PLXML::unop');
 
 sub key { 'leavesublv' }
 sub desc { 'lvalue subroutine return' }
@@ -2048,7 +2051,7 @@ sub args { '' }
 
 package PLXML::op_caller;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'caller' }
 sub desc { 'caller' }
@@ -2059,7 +2062,7 @@ sub args { 'S?' }
 
 package PLXML::op_warn;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'warn' }
 sub desc { 'warn' }
@@ -2070,7 +2073,7 @@ sub args { 'L' }
 
 package PLXML::op_die;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'die' }
 sub desc { 'die' }
@@ -2081,7 +2084,7 @@ sub args { 'L' }
 
 package PLXML::op_reset;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'reset' }
 sub desc { 'symbol reset' }
@@ -2093,7 +2096,7 @@ sub args { 'S?' }
 
 package PLXML::op_lineseq;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'lineseq' }
 sub desc { 'line sequence' }
@@ -2104,7 +2107,7 @@ sub args { '' }
 
 package PLXML::op_nextstate;
 
-@ISA = ('PLXML::cop');
+our @ISA = ('PLXML::cop');
 
 sub key { 'nextstate' }
 sub desc { 'next statement' }
@@ -2115,7 +2118,7 @@ sub args { '' }
 
 package PLXML::op_dbstate;
 
-@ISA = ('PLXML::cop');
+our @ISA = ('PLXML::cop');
 
 sub key { 'dbstate' }
 sub desc { 'debug next statement' }
@@ -2126,7 +2129,7 @@ sub args { '' }
 
 package PLXML::op_unstack;
 
-@ISA = ('PLXML::baseop');
+our @ISA = ('PLXML::baseop');
 
 sub key { 'unstack' }
 sub desc { 'iteration finalizer' }
@@ -2137,7 +2140,7 @@ sub args { '' }
 
 package PLXML::op_enter;
 
-@ISA = ('PLXML::baseop');
+our @ISA = ('PLXML::baseop');
 
 sub key { 'enter' }
 sub desc { 'block entry' }
@@ -2148,7 +2151,7 @@ sub args { '' }
 
 package PLXML::op_leave;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'leave' }
 sub desc { 'block exit' }
@@ -2159,7 +2162,7 @@ sub args { '' }
 
 package PLXML::op_scope;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'scope' }
 sub desc { 'block' }
@@ -2170,7 +2173,7 @@ sub args { '' }
 
 package PLXML::op_enteriter;
 
-@ISA = ('PLXML::loop');
+our @ISA = ('PLXML::loop');
 
 sub key { 'enteriter' }
 sub desc { 'foreach loop entry' }
@@ -2181,7 +2184,7 @@ sub args { '' }
 
 package PLXML::op_iter;
 
-@ISA = ('PLXML::baseop');
+our @ISA = ('PLXML::baseop');
 
 sub key { 'iter' }
 sub desc { 'foreach loop iterator' }
@@ -2192,7 +2195,7 @@ sub args { '' }
 
 package PLXML::op_enterloop;
 
-@ISA = ('PLXML::loop');
+our @ISA = ('PLXML::loop');
 
 sub key { 'enterloop' }
 sub desc { 'loop entry' }
@@ -2203,7 +2206,7 @@ sub args { '' }
 
 package PLXML::op_leaveloop;
 
-@ISA = ('PLXML::binop');
+our @ISA = ('PLXML::binop');
 
 sub key { 'leaveloop' }
 sub desc { 'loop exit' }
@@ -2214,7 +2217,7 @@ sub args { '' }
 
 package PLXML::op_return;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'return' }
 sub desc { 'return' }
@@ -2225,7 +2228,7 @@ sub args { 'L' }
 
 package PLXML::op_last;
 
-@ISA = ('PLXML::loopexop');
+our @ISA = ('PLXML::loopexop');
 
 sub key { 'last' }
 sub desc { 'last' }
@@ -2236,7 +2239,7 @@ sub args { '' }
 
 package PLXML::op_next;
 
-@ISA = ('PLXML::loopexop');
+our @ISA = ('PLXML::loopexop');
 
 sub key { 'next' }
 sub desc { 'next' }
@@ -2247,7 +2250,7 @@ sub args { '' }
 
 package PLXML::op_redo;
 
-@ISA = ('PLXML::loopexop');
+our @ISA = ('PLXML::loopexop');
 
 sub key { 'redo' }
 sub desc { 'redo' }
@@ -2258,7 +2261,7 @@ sub args { '' }
 
 package PLXML::op_dump;
 
-@ISA = ('PLXML::loopexop');
+our @ISA = ('PLXML::loopexop');
 
 sub key { 'dump' }
 sub desc { 'dump' }
@@ -2269,7 +2272,7 @@ sub args { '' }
 
 package PLXML::op_goto;
 
-@ISA = ('PLXML::loopexop');
+our @ISA = ('PLXML::loopexop');
 
 sub key { 'goto' }
 sub desc { 'goto' }
@@ -2280,7 +2283,7 @@ sub args { '' }
 
 package PLXML::op_exit;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'exit' }
 sub desc { 'exit' }
@@ -2298,7 +2301,7 @@ sub args { 'S?' }
 
 package PLXML::op_open;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'open' }
 sub desc { 'open' }
@@ -2309,7 +2312,7 @@ sub args { 'F S? L' }
 
 package PLXML::op_close;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'close' }
 sub desc { 'close' }
@@ -2320,7 +2323,7 @@ sub args { 'F?' }
 
 package PLXML::op_pipe_op;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'pipe_op' }
 sub desc { 'pipe' }
@@ -2332,7 +2335,7 @@ sub args { 'F F' }
 
 package PLXML::op_fileno;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'fileno' }
 sub desc { 'fileno' }
@@ -2343,7 +2346,7 @@ sub args { 'F' }
 
 package PLXML::op_umask;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'umask' }
 sub desc { 'umask' }
@@ -2354,7 +2357,7 @@ sub args { 'S?' }
 
 package PLXML::op_binmode;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'binmode' }
 sub desc { 'binmode' }
@@ -2366,7 +2369,7 @@ sub args { 'F S?' }
 
 package PLXML::op_tie;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'tie' }
 sub desc { 'tie' }
@@ -2377,7 +2380,7 @@ sub args { 'R S L' }
 
 package PLXML::op_untie;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'untie' }
 sub desc { 'untie' }
@@ -2388,7 +2391,7 @@ sub args { 'R' }
 
 package PLXML::op_tied;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'tied' }
 sub desc { 'tied' }
@@ -2399,7 +2402,7 @@ sub args { 'R' }
 
 package PLXML::op_dbmopen;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'dbmopen' }
 sub desc { 'dbmopen' }
@@ -2410,7 +2413,7 @@ sub args { 'H S S' }
 
 package PLXML::op_dbmclose;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'dbmclose' }
 sub desc { 'dbmclose' }
@@ -2422,7 +2425,7 @@ sub args { 'H' }
 
 package PLXML::op_sselect;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'sselect' }
 sub desc { 'select system call' }
@@ -2433,7 +2436,7 @@ sub args { 'S S S S' }
 
 package PLXML::op_select;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'select' }
 sub desc { 'select' }
@@ -2445,7 +2448,7 @@ sub args { 'F?' }
 
 package PLXML::op_getc;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'getc' }
 sub desc { 'getc' }
@@ -2456,7 +2459,7 @@ sub args { 'F?' }
 
 package PLXML::op_read;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'read' }
 sub desc { 'read' }
@@ -2467,7 +2470,7 @@ sub args { 'F R S S?' }
 
 package PLXML::op_enterwrite;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'enterwrite' }
 sub desc { 'write' }
@@ -2478,7 +2481,7 @@ sub args { 'F?' }
 
 package PLXML::op_leavewrite;
 
-@ISA = ('PLXML::unop');
+our @ISA = ('PLXML::unop');
 
 sub key { 'leavewrite' }
 sub desc { 'write exit' }
@@ -2490,7 +2493,7 @@ sub args { '' }
 
 package PLXML::op_prtf;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'prtf' }
 sub desc { 'printf' }
@@ -2501,7 +2504,7 @@ sub args { 'F? L' }
 
 package PLXML::op_print;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'print' }
 sub desc { 'print' }
@@ -2513,7 +2516,7 @@ sub args { 'F? L' }
 
 package PLXML::op_sysopen;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'sysopen' }
 sub desc { 'sysopen' }
@@ -2524,7 +2527,7 @@ sub args { 'F S S S?' }
 
 package PLXML::op_sysseek;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'sysseek' }
 sub desc { 'sysseek' }
@@ -2535,7 +2538,7 @@ sub args { 'F S S' }
 
 package PLXML::op_sysread;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'sysread' }
 sub desc { 'sysread' }
@@ -2546,7 +2549,7 @@ sub args { 'F R S S?' }
 
 package PLXML::op_syswrite;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'syswrite' }
 sub desc { 'syswrite' }
@@ -2558,7 +2561,7 @@ sub args { 'F S S? S?' }
 
 package PLXML::op_send;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'send' }
 sub desc { 'send' }
@@ -2569,7 +2572,7 @@ sub args { 'Fs S S S?' }
 
 package PLXML::op_recv;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'recv' }
 sub desc { 'recv' }
@@ -2581,7 +2584,7 @@ sub args { 'Fs R S S' }
 
 package PLXML::op_eof;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'eof' }
 sub desc { 'eof' }
@@ -2592,7 +2595,7 @@ sub args { 'F?' }
 
 package PLXML::op_tell;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'tell' }
 sub desc { 'tell' }
@@ -2603,7 +2606,7 @@ sub args { 'F?' }
 
 package PLXML::op_seek;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'seek' }
 sub desc { 'seek' }
@@ -2615,7 +2618,7 @@ sub args { 'F S S' }
 # truncate really behaves as if it had both "S S" and "F S"
 package PLXML::op_truncate;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'truncate' }
 sub desc { 'truncate' }
@@ -2627,7 +2630,7 @@ sub args { 'S S' }
 
 package PLXML::op_fcntl;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'fcntl' }
 sub desc { 'fcntl' }
@@ -2638,7 +2641,7 @@ sub args { 'F S S' }
 
 package PLXML::op_ioctl;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'ioctl' }
 sub desc { 'ioctl' }
@@ -2649,7 +2652,7 @@ sub args { 'F S S' }
 
 package PLXML::op_flock;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'flock' }
 sub desc { 'flock' }
@@ -2663,7 +2666,7 @@ sub args { 'F S' }
 
 package PLXML::op_socket;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'socket' }
 sub desc { 'socket' }
@@ -2674,7 +2677,7 @@ sub args { 'Fs S S S' }
 
 package PLXML::op_sockpair;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'sockpair' }
 sub desc { 'socketpair' }
@@ -2686,7 +2689,7 @@ sub args { 'Fs Fs S S S' }
 
 package PLXML::op_bind;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'bind' }
 sub desc { 'bind' }
@@ -2697,7 +2700,7 @@ sub args { 'Fs S' }
 
 package PLXML::op_connect;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'connect' }
 sub desc { 'connect' }
@@ -2708,7 +2711,7 @@ sub args { 'Fs S' }
 
 package PLXML::op_listen;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'listen' }
 sub desc { 'listen' }
@@ -2719,7 +2722,7 @@ sub args { 'Fs S' }
 
 package PLXML::op_accept;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'accept' }
 sub desc { 'accept' }
@@ -2730,7 +2733,7 @@ sub args { 'Fs Fs' }
 
 package PLXML::op_shutdown;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'shutdown' }
 sub desc { 'shutdown' }
@@ -2742,7 +2745,7 @@ sub args { 'Fs S' }
 
 package PLXML::op_gsockopt;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'gsockopt' }
 sub desc { 'getsockopt' }
@@ -2753,7 +2756,7 @@ sub args { 'Fs S S' }
 
 package PLXML::op_ssockopt;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'ssockopt' }
 sub desc { 'setsockopt' }
@@ -2765,7 +2768,7 @@ sub args { 'Fs S S S' }
 
 package PLXML::op_getsockname;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'getsockname' }
 sub desc { 'getsockname' }
@@ -2776,7 +2779,7 @@ sub args { 'Fs' }
 
 package PLXML::op_getpeername;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'getpeername' }
 sub desc { 'getpeername' }
@@ -2790,7 +2793,7 @@ sub args { 'Fs' }
 
 package PLXML::op_lstat;
 
-@ISA = ('PLXML::filestatop');
+our @ISA = ('PLXML::filestatop');
 
 sub key { 'lstat' }
 sub desc { 'lstat' }
@@ -2801,7 +2804,7 @@ sub args { 'F' }
 
 package PLXML::op_stat;
 
-@ISA = ('PLXML::filestatop');
+our @ISA = ('PLXML::filestatop');
 
 sub key { 'stat' }
 sub desc { 'stat' }
@@ -2812,7 +2815,7 @@ sub args { 'F' }
 
 package PLXML::op_ftrread;
 
-@ISA = ('PLXML::filestatop');
+our @ISA = ('PLXML::filestatop');
 
 sub key { 'ftrread' }
 sub desc { '-R' }
@@ -2823,7 +2826,7 @@ sub args { 'F-' }
 
 package PLXML::op_ftrwrite;
 
-@ISA = ('PLXML::filestatop');
+our @ISA = ('PLXML::filestatop');
 
 sub key { 'ftrwrite' }
 sub desc { '-W' }
@@ -2834,7 +2837,7 @@ sub args { 'F-' }
 
 package PLXML::op_ftrexec;
 
-@ISA = ('PLXML::filestatop');
+our @ISA = ('PLXML::filestatop');
 
 sub key { 'ftrexec' }
 sub desc { '-X' }
@@ -2845,7 +2848,7 @@ sub args { 'F-' }
 
 package PLXML::op_fteread;
 
-@ISA = ('PLXML::filestatop');
+our @ISA = ('PLXML::filestatop');
 
 sub key { 'fteread' }
 sub desc { '-r' }
@@ -2856,7 +2859,7 @@ sub args { 'F-' }
 
 package PLXML::op_ftewrite;
 
-@ISA = ('PLXML::filestatop');
+our @ISA = ('PLXML::filestatop');
 
 sub key { 'ftewrite' }
 sub desc { '-w' }
@@ -2867,7 +2870,7 @@ sub args { 'F-' }
 
 package PLXML::op_fteexec;
 
-@ISA = ('PLXML::filestatop');
+our @ISA = ('PLXML::filestatop');
 
 sub key { 'fteexec' }
 sub desc { '-x' }
@@ -2878,7 +2881,7 @@ sub args { 'F-' }
 
 package PLXML::op_ftis;
 
-@ISA = ('PLXML::filestatop');
+our @ISA = ('PLXML::filestatop');
 
 sub key { 'ftis' }
 sub desc { '-e' }
@@ -2889,7 +2892,7 @@ sub args { 'F-' }
 
 package PLXML::op_fteowned;
 
-@ISA = ('PLXML::filestatop');
+our @ISA = ('PLXML::filestatop');
 
 sub key { 'fteowned' }
 sub desc { '-O' }
@@ -2900,7 +2903,7 @@ sub args { 'F-' }
 
 package PLXML::op_ftrowned;
 
-@ISA = ('PLXML::filestatop');
+our @ISA = ('PLXML::filestatop');
 
 sub key { 'ftrowned' }
 sub desc { '-o' }
@@ -2911,7 +2914,7 @@ sub args { 'F-' }
 
 package PLXML::op_ftzero;
 
-@ISA = ('PLXML::filestatop');
+our @ISA = ('PLXML::filestatop');
 
 sub key { 'ftzero' }
 sub desc { '-z' }
@@ -2922,7 +2925,7 @@ sub args { 'F-' }
 
 package PLXML::op_ftsize;
 
-@ISA = ('PLXML::filestatop');
+our @ISA = ('PLXML::filestatop');
 
 sub key { 'ftsize' }
 sub desc { '-s' }
@@ -2933,7 +2936,7 @@ sub args { 'F-' }
 
 package PLXML::op_ftmtime;
 
-@ISA = ('PLXML::filestatop');
+our @ISA = ('PLXML::filestatop');
 
 sub key { 'ftmtime' }
 sub desc { '-M' }
@@ -2944,7 +2947,7 @@ sub args { 'F-' }
 
 package PLXML::op_ftatime;
 
-@ISA = ('PLXML::filestatop');
+our @ISA = ('PLXML::filestatop');
 
 sub key { 'ftatime' }
 sub desc { '-A' }
@@ -2955,7 +2958,7 @@ sub args { 'F-' }
 
 package PLXML::op_ftctime;
 
-@ISA = ('PLXML::filestatop');
+our @ISA = ('PLXML::filestatop');
 
 sub key { 'ftctime' }
 sub desc { '-C' }
@@ -2966,7 +2969,7 @@ sub args { 'F-' }
 
 package PLXML::op_ftsock;
 
-@ISA = ('PLXML::filestatop');
+our @ISA = ('PLXML::filestatop');
 
 sub key { 'ftsock' }
 sub desc { '-S' }
@@ -2977,7 +2980,7 @@ sub args { 'F-' }
 
 package PLXML::op_ftchr;
 
-@ISA = ('PLXML::filestatop');
+our @ISA = ('PLXML::filestatop');
 
 sub key { 'ftchr' }
 sub desc { '-c' }
@@ -2988,7 +2991,7 @@ sub args { 'F-' }
 
 package PLXML::op_ftblk;
 
-@ISA = ('PLXML::filestatop');
+our @ISA = ('PLXML::filestatop');
 
 sub key { 'ftblk' }
 sub desc { '-b' }
@@ -2999,7 +3002,7 @@ sub args { 'F-' }
 
 package PLXML::op_ftfile;
 
-@ISA = ('PLXML::filestatop');
+our @ISA = ('PLXML::filestatop');
 
 sub key { 'ftfile' }
 sub desc { '-f' }
@@ -3010,7 +3013,7 @@ sub args { 'F-' }
 
 package PLXML::op_ftdir;
 
-@ISA = ('PLXML::filestatop');
+our @ISA = ('PLXML::filestatop');
 
 sub key { 'ftdir' }
 sub desc { '-d' }
@@ -3021,7 +3024,7 @@ sub args { 'F-' }
 
 package PLXML::op_ftpipe;
 
-@ISA = ('PLXML::filestatop');
+our @ISA = ('PLXML::filestatop');
 
 sub key { 'ftpipe' }
 sub desc { '-p' }
@@ -3032,7 +3035,7 @@ sub args { 'F-' }
 
 package PLXML::op_ftlink;
 
-@ISA = ('PLXML::filestatop');
+our @ISA = ('PLXML::filestatop');
 
 sub key { 'ftlink' }
 sub desc { '-l' }
@@ -3043,7 +3046,7 @@ sub args { 'F-' }
 
 package PLXML::op_ftsuid;
 
-@ISA = ('PLXML::filestatop');
+our @ISA = ('PLXML::filestatop');
 
 sub key { 'ftsuid' }
 sub desc { '-u' }
@@ -3054,7 +3057,7 @@ sub args { 'F-' }
 
 package PLXML::op_ftsgid;
 
-@ISA = ('PLXML::filestatop');
+our @ISA = ('PLXML::filestatop');
 
 sub key { 'ftsgid' }
 sub desc { '-g' }
@@ -3065,7 +3068,7 @@ sub args { 'F-' }
 
 package PLXML::op_ftsvtx;
 
-@ISA = ('PLXML::filestatop');
+our @ISA = ('PLXML::filestatop');
 
 sub key { 'ftsvtx' }
 sub desc { '-k' }
@@ -3076,7 +3079,7 @@ sub args { 'F-' }
 
 package PLXML::op_fttty;
 
-@ISA = ('PLXML::filestatop');
+our @ISA = ('PLXML::filestatop');
 
 sub key { 'fttty' }
 sub desc { '-t' }
@@ -3087,7 +3090,7 @@ sub args { 'F-' }
 
 package PLXML::op_fttext;
 
-@ISA = ('PLXML::filestatop');
+our @ISA = ('PLXML::filestatop');
 
 sub key { 'fttext' }
 sub desc { '-T' }
@@ -3098,7 +3101,7 @@ sub args { 'F-' }
 
 package PLXML::op_ftbinary;
 
-@ISA = ('PLXML::filestatop');
+our @ISA = ('PLXML::filestatop');
 
 sub key { 'ftbinary' }
 sub desc { '-B' }
@@ -3112,7 +3115,7 @@ sub args { 'F-' }
 
 package PLXML::op_chdir;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'chdir' }
 sub desc { 'chdir' }
@@ -3123,7 +3126,7 @@ sub args { 'S?' }
 
 package PLXML::op_chown;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'chown' }
 sub desc { 'chown' }
@@ -3134,7 +3137,7 @@ sub args { 'L' }
 
 package PLXML::op_chroot;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'chroot' }
 sub desc { 'chroot' }
@@ -3145,7 +3148,7 @@ sub args { 'S?' }
 
 package PLXML::op_unlink;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'unlink' }
 sub desc { 'unlink' }
@@ -3156,7 +3159,7 @@ sub args { 'L' }
 
 package PLXML::op_chmod;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'chmod' }
 sub desc { 'chmod' }
@@ -3167,7 +3170,7 @@ sub args { 'L' }
 
 package PLXML::op_utime;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'utime' }
 sub desc { 'utime' }
@@ -3178,7 +3181,7 @@ sub args { 'L' }
 
 package PLXML::op_rename;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'rename' }
 sub desc { 'rename' }
@@ -3189,7 +3192,7 @@ sub args { 'S S' }
 
 package PLXML::op_link;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'link' }
 sub desc { 'link' }
@@ -3200,7 +3203,7 @@ sub args { 'S S' }
 
 package PLXML::op_symlink;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'symlink' }
 sub desc { 'symlink' }
@@ -3211,7 +3214,7 @@ sub args { 'S S' }
 
 package PLXML::op_readlink;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'readlink' }
 sub desc { 'readlink' }
@@ -3222,7 +3225,7 @@ sub args { 'S?' }
 
 package PLXML::op_mkdir;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'mkdir' }
 sub desc { 'mkdir' }
@@ -3233,7 +3236,7 @@ sub args { 'S S?' }
 
 package PLXML::op_rmdir;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'rmdir' }
 sub desc { 'rmdir' }
@@ -3247,7 +3250,7 @@ sub args { 'S?' }
 
 package PLXML::op_open_dir;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'open_dir' }
 sub desc { 'opendir' }
@@ -3258,7 +3261,7 @@ sub args { 'F S' }
 
 package PLXML::op_readdir;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'readdir' }
 sub desc { 'readdir' }
@@ -3269,7 +3272,7 @@ sub args { 'F' }
 
 package PLXML::op_telldir;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'telldir' }
 sub desc { 'telldir' }
@@ -3280,7 +3283,7 @@ sub args { 'F' }
 
 package PLXML::op_seekdir;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'seekdir' }
 sub desc { 'seekdir' }
@@ -3291,7 +3294,7 @@ sub args { 'F S' }
 
 package PLXML::op_rewinddir;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'rewinddir' }
 sub desc { 'rewinddir' }
@@ -3302,7 +3305,7 @@ sub args { 'F' }
 
 package PLXML::op_closedir;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'closedir' }
 sub desc { 'closedir' }
@@ -3316,7 +3319,7 @@ sub args { 'F' }
 
 package PLXML::op_fork;
 
-@ISA = ('PLXML::baseop');
+our @ISA = ('PLXML::baseop');
 
 sub key { 'fork' }
 sub desc { 'fork' }
@@ -3327,7 +3330,7 @@ sub args { '' }
 
 package PLXML::op_wait;
 
-@ISA = ('PLXML::baseop');
+our @ISA = ('PLXML::baseop');
 
 sub key { 'wait' }
 sub desc { 'wait' }
@@ -3338,7 +3341,7 @@ sub args { '' }
 
 package PLXML::op_waitpid;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'waitpid' }
 sub desc { 'waitpid' }
@@ -3349,7 +3352,7 @@ sub args { 'S S' }
 
 package PLXML::op_system;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'system' }
 sub desc { 'system' }
@@ -3360,7 +3363,7 @@ sub args { 'S? L' }
 
 package PLXML::op_exec;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'exec' }
 sub desc { 'exec' }
@@ -3371,7 +3374,7 @@ sub args { 'S? L' }
 
 package PLXML::op_kill;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'kill' }
 sub desc { 'kill' }
@@ -3382,7 +3385,7 @@ sub args { 'L' }
 
 package PLXML::op_getppid;
 
-@ISA = ('PLXML::baseop');
+our @ISA = ('PLXML::baseop');
 
 sub key { 'getppid' }
 sub desc { 'getppid' }
@@ -3393,7 +3396,7 @@ sub args { '' }
 
 package PLXML::op_getpgrp;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'getpgrp' }
 sub desc { 'getpgrp' }
@@ -3404,7 +3407,7 @@ sub args { 'S?' }
 
 package PLXML::op_setpgrp;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'setpgrp' }
 sub desc { 'setpgrp' }
@@ -3415,7 +3418,7 @@ sub args { 'S? S?' }
 
 package PLXML::op_getpriority;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'getpriority' }
 sub desc { 'getpriority' }
@@ -3426,7 +3429,7 @@ sub args { 'S S' }
 
 package PLXML::op_setpriority;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'setpriority' }
 sub desc { 'setpriority' }
@@ -3444,7 +3447,7 @@ sub args { 'S S S' }
 
 package PLXML::op_time;
 
-@ISA = ('PLXML::baseop');
+our @ISA = ('PLXML::baseop');
 
 sub key { 'time' }
 sub desc { 'time' }
@@ -3455,7 +3458,7 @@ sub args { '' }
 
 package PLXML::op_tms;
 
-@ISA = ('PLXML::baseop');
+our @ISA = ('PLXML::baseop');
 
 sub key { 'tms' }
 sub desc { 'times' }
@@ -3466,7 +3469,7 @@ sub args { '' }
 
 package PLXML::op_localtime;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'localtime' }
 sub desc { 'localtime' }
@@ -3477,7 +3480,7 @@ sub args { 'S?' }
 
 package PLXML::op_gmtime;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'gmtime' }
 sub desc { 'gmtime' }
@@ -3488,7 +3491,7 @@ sub args { 'S?' }
 
 package PLXML::op_alarm;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'alarm' }
 sub desc { 'alarm' }
@@ -3499,7 +3502,7 @@ sub args { 'S?' }
 
 package PLXML::op_sleep;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'sleep' }
 sub desc { 'sleep' }
@@ -3513,7 +3516,7 @@ sub args { 'S?' }
 
 package PLXML::op_shmget;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'shmget' }
 sub desc { 'shmget' }
@@ -3524,7 +3527,7 @@ sub args { 'S S S' }
 
 package PLXML::op_shmctl;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'shmctl' }
 sub desc { 'shmctl' }
@@ -3535,7 +3538,7 @@ sub args { 'S S S' }
 
 package PLXML::op_shmread;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'shmread' }
 sub desc { 'shmread' }
@@ -3546,7 +3549,7 @@ sub args { 'S S S S' }
 
 package PLXML::op_shmwrite;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'shmwrite' }
 sub desc { 'shmwrite' }
@@ -3560,7 +3563,7 @@ sub args { 'S S S S' }
 
 package PLXML::op_msgget;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'msgget' }
 sub desc { 'msgget' }
@@ -3571,7 +3574,7 @@ sub args { 'S S' }
 
 package PLXML::op_msgctl;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'msgctl' }
 sub desc { 'msgctl' }
@@ -3582,7 +3585,7 @@ sub args { 'S S S' }
 
 package PLXML::op_msgsnd;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'msgsnd' }
 sub desc { 'msgsnd' }
@@ -3593,7 +3596,7 @@ sub args { 'S S S' }
 
 package PLXML::op_msgrcv;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'msgrcv' }
 sub desc { 'msgrcv' }
@@ -3607,7 +3610,7 @@ sub args { 'S S S S S' }
 
 package PLXML::op_semget;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'semget' }
 sub desc { 'semget' }
@@ -3618,7 +3621,7 @@ sub args { 'S S S' }
 
 package PLXML::op_semctl;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'semctl' }
 sub desc { 'semctl' }
@@ -3629,7 +3632,7 @@ sub args { 'S S S S' }
 
 package PLXML::op_semop;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'semop' }
 sub desc { 'semop' }
@@ -3643,7 +3646,7 @@ sub args { 'S S' }
 
 package PLXML::op_require;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'require' }
 sub desc { 'require' }
@@ -3654,7 +3657,7 @@ sub args { 'S?' }
 
 package PLXML::op_dofile;
 
-@ISA = ('PLXML::unop');
+our @ISA = ('PLXML::unop');
 
 sub key { 'dofile' }
 sub desc { 'do "file"' }
@@ -3665,7 +3668,7 @@ sub args { 'S' }
 
 package PLXML::op_entereval;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'entereval' }
 sub desc { 'eval "string"' }
@@ -3676,7 +3679,7 @@ sub args { 'S' }
 
 package PLXML::op_leaveeval;
 
-@ISA = ('PLXML::unop');
+our @ISA = ('PLXML::unop');
 
 sub key { 'leaveeval' }
 sub desc { 'eval "string" exit' }
@@ -3688,7 +3691,7 @@ sub args { 'S' }
 #evalonce      eval constant string    ck_null         d1      S
 package PLXML::op_entertry;
 
-@ISA = ('PLXML::logop');
+our @ISA = ('PLXML::logop');
 
 sub key { 'entertry' }
 sub desc { 'eval {block}' }
@@ -3699,7 +3702,7 @@ sub args { '' }
 
 package PLXML::op_leavetry;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'leavetry' }
 sub desc { 'eval {block} exit' }
@@ -3713,7 +3716,7 @@ sub args { '' }
 
 package PLXML::op_ghbyname;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'ghbyname' }
 sub desc { 'gethostbyname' }
@@ -3724,7 +3727,7 @@ sub args { 'S' }
 
 package PLXML::op_ghbyaddr;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'ghbyaddr' }
 sub desc { 'gethostbyaddr' }
@@ -3735,7 +3738,7 @@ sub args { 'S S' }
 
 package PLXML::op_ghostent;
 
-@ISA = ('PLXML::baseop');
+our @ISA = ('PLXML::baseop');
 
 sub key { 'ghostent' }
 sub desc { 'gethostent' }
@@ -3746,7 +3749,7 @@ sub args { '' }
 
 package PLXML::op_gnbyname;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'gnbyname' }
 sub desc { 'getnetbyname' }
@@ -3757,7 +3760,7 @@ sub args { 'S' }
 
 package PLXML::op_gnbyaddr;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'gnbyaddr' }
 sub desc { 'getnetbyaddr' }
@@ -3768,7 +3771,7 @@ sub args { 'S S' }
 
 package PLXML::op_gnetent;
 
-@ISA = ('PLXML::baseop');
+our @ISA = ('PLXML::baseop');
 
 sub key { 'gnetent' }
 sub desc { 'getnetent' }
@@ -3779,7 +3782,7 @@ sub args { '' }
 
 package PLXML::op_gpbyname;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'gpbyname' }
 sub desc { 'getprotobyname' }
@@ -3790,7 +3793,7 @@ sub args { 'S' }
 
 package PLXML::op_gpbynumber;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'gpbynumber' }
 sub desc { 'getprotobynumber' }
@@ -3801,7 +3804,7 @@ sub args { 'S' }
 
 package PLXML::op_gprotoent;
 
-@ISA = ('PLXML::baseop');
+our @ISA = ('PLXML::baseop');
 
 sub key { 'gprotoent' }
 sub desc { 'getprotoent' }
@@ -3812,7 +3815,7 @@ sub args { '' }
 
 package PLXML::op_gsbyname;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'gsbyname' }
 sub desc { 'getservbyname' }
@@ -3823,7 +3826,7 @@ sub args { 'S S' }
 
 package PLXML::op_gsbyport;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'gsbyport' }
 sub desc { 'getservbyport' }
@@ -3834,7 +3837,7 @@ sub args { 'S S' }
 
 package PLXML::op_gservent;
 
-@ISA = ('PLXML::baseop');
+our @ISA = ('PLXML::baseop');
 
 sub key { 'gservent' }
 sub desc { 'getservent' }
@@ -3845,7 +3848,7 @@ sub args { '' }
 
 package PLXML::op_shostent;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'shostent' }
 sub desc { 'sethostent' }
@@ -3856,7 +3859,7 @@ sub args { 'S' }
 
 package PLXML::op_snetent;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'snetent' }
 sub desc { 'setnetent' }
@@ -3867,7 +3870,7 @@ sub args { 'S' }
 
 package PLXML::op_sprotoent;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'sprotoent' }
 sub desc { 'setprotoent' }
@@ -3878,7 +3881,7 @@ sub args { 'S' }
 
 package PLXML::op_sservent;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'sservent' }
 sub desc { 'setservent' }
@@ -3889,7 +3892,7 @@ sub args { 'S' }
 
 package PLXML::op_ehostent;
 
-@ISA = ('PLXML::baseop');
+our @ISA = ('PLXML::baseop');
 
 sub key { 'ehostent' }
 sub desc { 'endhostent' }
@@ -3900,7 +3903,7 @@ sub args { '' }
 
 package PLXML::op_enetent;
 
-@ISA = ('PLXML::baseop');
+our @ISA = ('PLXML::baseop');
 
 sub key { 'enetent' }
 sub desc { 'endnetent' }
@@ -3911,7 +3914,7 @@ sub args { '' }
 
 package PLXML::op_eprotoent;
 
-@ISA = ('PLXML::baseop');
+our @ISA = ('PLXML::baseop');
 
 sub key { 'eprotoent' }
 sub desc { 'endprotoent' }
@@ -3922,7 +3925,7 @@ sub args { '' }
 
 package PLXML::op_eservent;
 
-@ISA = ('PLXML::baseop');
+our @ISA = ('PLXML::baseop');
 
 sub key { 'eservent' }
 sub desc { 'endservent' }
@@ -3933,7 +3936,7 @@ sub args { '' }
 
 package PLXML::op_gpwnam;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'gpwnam' }
 sub desc { 'getpwnam' }
@@ -3944,7 +3947,7 @@ sub args { 'S' }
 
 package PLXML::op_gpwuid;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'gpwuid' }
 sub desc { 'getpwuid' }
@@ -3955,7 +3958,7 @@ sub args { 'S' }
 
 package PLXML::op_gpwent;
 
-@ISA = ('PLXML::baseop');
+our @ISA = ('PLXML::baseop');
 
 sub key { 'gpwent' }
 sub desc { 'getpwent' }
@@ -3966,7 +3969,7 @@ sub args { '' }
 
 package PLXML::op_spwent;
 
-@ISA = ('PLXML::baseop');
+our @ISA = ('PLXML::baseop');
 
 sub key { 'spwent' }
 sub desc { 'setpwent' }
@@ -3977,7 +3980,7 @@ sub args { '' }
 
 package PLXML::op_epwent;
 
-@ISA = ('PLXML::baseop');
+our @ISA = ('PLXML::baseop');
 
 sub key { 'epwent' }
 sub desc { 'endpwent' }
@@ -3988,7 +3991,7 @@ sub args { '' }
 
 package PLXML::op_ggrnam;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'ggrnam' }
 sub desc { 'getgrnam' }
@@ -3999,7 +4002,7 @@ sub args { 'S' }
 
 package PLXML::op_ggrgid;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'ggrgid' }
 sub desc { 'getgrgid' }
@@ -4010,7 +4013,7 @@ sub args { 'S' }
 
 package PLXML::op_ggrent;
 
-@ISA = ('PLXML::baseop');
+our @ISA = ('PLXML::baseop');
 
 sub key { 'ggrent' }
 sub desc { 'getgrent' }
@@ -4021,7 +4024,7 @@ sub args { '' }
 
 package PLXML::op_sgrent;
 
-@ISA = ('PLXML::baseop');
+our @ISA = ('PLXML::baseop');
 
 sub key { 'sgrent' }
 sub desc { 'setgrent' }
@@ -4032,7 +4035,7 @@ sub args { '' }
 
 package PLXML::op_egrent;
 
-@ISA = ('PLXML::baseop');
+our @ISA = ('PLXML::baseop');
 
 sub key { 'egrent' }
 sub desc { 'endgrent' }
@@ -4043,7 +4046,7 @@ sub args { '' }
 
 package PLXML::op_getlogin;
 
-@ISA = ('PLXML::baseop');
+our @ISA = ('PLXML::baseop');
 
 sub key { 'getlogin' }
 sub desc { 'getlogin' }
@@ -4057,7 +4060,7 @@ sub args { '' }
 
 package PLXML::op_syscall;
 
-@ISA = ('PLXML::listop');
+our @ISA = ('PLXML::listop');
 
 sub key { 'syscall' }
 sub desc { 'syscall' }
@@ -4070,7 +4073,7 @@ sub args { 'S L' }
 # For multi-threading
 package PLXML::op_lock;
 
-@ISA = ('PLXML::baseop_unop');
+our @ISA = ('PLXML::baseop_unop');
 
 sub key { 'lock' }
 sub desc { 'lock' }
@@ -4081,7 +4084,7 @@ sub args { 'R' }
 
 package PLXML::op_threadsv;
 
-@ISA = ('PLXML::baseop');
+our @ISA = ('PLXML::baseop');
 
 sub key { 'threadsv' }
 sub desc { 'per-thread value' }
@@ -4094,7 +4097,7 @@ sub args { '' }
 # Control (contd.)
 package PLXML::op_setstate;
 
-@ISA = ('PLXML::cop');
+our @ISA = ('PLXML::cop');
 
 sub key { 'setstate' }
 sub desc { 'set statement info' }
@@ -4105,7 +4108,7 @@ sub args { '' }
 
 package PLXML::op_method_named;
 
-@ISA = ('PLXML::padop_svop');
+our @ISA = ('PLXML::padop_svop');
 
 sub key { 'method_named' }
 sub desc { 'method with known name' }
@@ -4117,7 +4120,7 @@ sub args { '' }
 
 package PLXML::op_dor;
 
-@ISA = ('PLXML::logop');
+our @ISA = ('PLXML::logop');
 
 sub key { 'dor' }
 sub desc { 'defined or (//)' }
@@ -4128,7 +4131,7 @@ sub args { '' }
 
 package PLXML::op_dorassign;
 
-@ISA = ('PLXML::logop');
+our @ISA = ('PLXML::logop');
 
 sub key { 'dorassign' }
 sub desc { 'defined or assignment (//=)' }
@@ -4142,7 +4145,7 @@ sub args { '' }
 
 package PLXML::op_custom;
 
-@ISA = ('PLXML::baseop');
+our @ISA = ('PLXML::baseop');
 
 sub key { 'custom' }
 sub desc { 'unknown custom operator' }