#define pp_time() Perl_pp_time(aTHX)
#define pp_tms() Perl_pp_tms(aTHX)
#define pp_trans() Perl_pp_trans(aTHX)
+#define pp_transr() Perl_pp_transr(aTHX)
#define pp_truncate() Perl_pp_truncate(aTHX)
#define pp_uc() Perl_pp_uc(aTHX)
#define pp_ucfirst() Perl_pp_ucfirst(aTHX)
"reach",
"rkeys",
"rvalues",
+ "transr",
};
#endif
"each on reference",
"keys on reference",
"values on reference",
+ "transliteration (tr///)",
};
#endif
Perl_pp_qr,
Perl_pp_subst,
Perl_pp_substcont,
- Perl_pp_trans,
+ Perl_pp_trans, /* Perl_pp_trans */
Perl_pp_sassign,
Perl_pp_aassign,
Perl_pp_chop,
Perl_pp_rkeys, /* Perl_pp_reach */
Perl_pp_rkeys,
Perl_pp_rkeys, /* Perl_pp_rvalues */
+ Perl_pp_trans, /* Perl_pp_transr */
}
#endif
#ifdef PERL_PPADDR_INITED
Perl_ck_each, /* reach */
Perl_ck_each, /* rkeys */
Perl_ck_each, /* rvalues */
+ Perl_ck_match, /* transr */
}
#endif
#ifdef PERL_CHECK_INITED
0x00001b00, /* reach */
0x00001b08, /* rkeys */
0x00001b08, /* rvalues */
+ 0x00001804, /* transr */
};
#endif
OP_REACH = 366,
OP_RKEYS = 367,
OP_RVALUES = 368,
+ OP_TRANSR = 369,
OP_max
} opcode;
-#define MAXO 369
+#define MAXO 370
#define OP_phoney_INPUT_ONLY -1
#define OP_phoney_OUTPUT_ONLY -2
Perl_pp_reach
Perl_pp_rkeys
Perl_pp_rvalues
+Perl_pp_transr
# ex: set ro:
PERL_CALLCONV OP * Perl_pp_time(pTHX);
PERL_CALLCONV OP * Perl_pp_tms(pTHX);
PERL_CALLCONV OP * Perl_pp_trans(pTHX);
+PERL_CALLCONV OP * Perl_pp_transr(pTHX);
PERL_CALLCONV OP * Perl_pp_truncate(pTHX);
PERL_CALLCONV OP * Perl_pp_uc(pTHX);
PERL_CALLCONV OP * Perl_pp_ucfirst(pTHX);
my ($key, $desc, $check, $flags, $args) = split(/\t+/, $_, 5);
$args = '' unless defined $args;
- warn qq[Description "$desc" duplicates $seen{$desc}\n] if $seen{$desc};
+ warn qq[Description "$desc" duplicates $seen{$desc}\n]
+ if $seen{$desc} and $key ne "transr";
die qq[Opcode "$key" duplicates $seen{$key}\n] if $seen{$key};
$seen{$desc} = qq[description of opcode "$key"];
$seen{$key} = qq[opcode "$key"];
Perl_pp_rv2av => ['rv2hv'],
Perl_pp_akeys => ['avalues'],
Perl_pp_rkeys => [qw(rvalues reach)],
+ Perl_pp_trans => [qw(trans transr)],
);
while (my ($func, $names) = splice @raw_alias, 0, 2) {
subst substitution (s///) ck_match dis/ S
substcont substitution iterator ck_null dis|
trans transliteration (tr///) ck_match is" S
+# transr (the /r version) is further down.
# Lvalue operators.
# sassign is special-cased for op class
reach each on reference ck_each % S
rkeys keys on reference ck_each t% S
rvalues values on reference ck_each t% S
+
+# y///r
+transr transliteration (tr///) ck_match is" S