--- /usr/local/lib/perl5/5.15.2/B/Deparse.pm~ 2011-09-04 17:49:22.000000000 +0200 +++ /usr/local/lib/perl5/5.15.2/B/Deparse.pm 2011-09-13 13:36:29.000000000 +0200 @@ -14,7 +14,7 @@ OPf_KIDS OPf_REF OPf_STACKED OPf_SPECIAL OPf_MOD OPpLVAL_INTRO OPpOUR_INTRO OPpENTERSUB_AMPER OPpSLICE OPpCONST_BARE OPpTRANS_SQUASH OPpTRANS_DELETE OPpTRANS_COMPLEMENT OPpTARGET_MY - OPpCONST_ARYBASE OPpEXISTS_SUB OPpSORT_NUMERIC OPpSORT_INTEGER + OPpEXISTS_SUB OPpSORT_NUMERIC OPpSORT_INTEGER OPpSORT_REVERSE SVf_IOK SVf_NOK SVf_ROK SVf_POK SVpad_OUR SVf_FAKE SVs_RMG SVs_SMG CVf_METHOD CVf_LVALUE @@ -25,8 +25,9 @@ ($] < 5.008009 ? () : qw(OPpCONST_NOVER OPpPAD_STATE)), ($] < 5.009 ? 'PMf_SKIPWHITE' : qw(RXf_SKIPWHITE)), ($] < 5.011 ? 'CVf_LOCKED' : 'OPpREVERSE_INPLACE'), - ($] < 5.013 ? () : 'PMf_NONDESTRUCT'); -$VERSION = "1.07"; + ($] < 5.013 ? () : 'PMf_NONDESTRUCT'), + ($] < 5.015002 ? 'OPpCONST_ARYBASE' : ()); +$VERSION = "1.08"; use strict; use vars qw/$AUTOLOAD/; use warnings (); @@ -36,7 +37,7 @@ # be to fake up a dummy constant that will never actually be true. foreach (qw(OPpSORT_INPLACE OPpSORT_DESCEND OPpITER_REVERSED OPpCONST_NOVER OPpPAD_STATE RXf_SKIPWHITE CVf_LOCKED OPpREVERSE_INPLACE - PMf_NONDESTRUCT)) { + PMf_NONDESTRUCT OPpCONST_ARYBASE)) { no strict 'refs'; *{$_} = sub () {0} unless *{$_}{CODE}; } @@ -3836,7 +3837,7 @@ sub pp_const { my $self = shift; my($op, $cx) = @_; - if ($op->private & OPpCONST_ARYBASE) { + if ($] < 5.015002 and $op->private & OPpCONST_ARYBASE) { return '$['; } # if ($op->private & OPpCONST_BARE) { # trouble with `=>' autoquoting @@ -3851,7 +3852,7 @@ my $op = shift; my $type = $op->name; if ($type eq "const") { - return '$[' if $op->private & OPpCONST_ARYBASE; + return '$[' if $] < 5.015002 and $op->private & OPpCONST_ARYBASE; return uninterp(escape_str(unback($self->const_sv($op)->as_string))); } elsif ($type eq "concat") { my $first = $self->dq($op->first);