return "$prefix$name";
}
- if (defined $cx && $cx == 26) {
- if ($prefix eq '@' && $name =~ /^[^\w+-]$/) {
+ if ($name =~ /^[^\w+-]$/) {
+ if (defined $cx && $cx == 26) {
+ if ($prefix eq '@') {
return "$prefix\{$name}";
}
- }
- if ($prefix eq '$#' && $name =~ /^[^\w+-]$/) {
+ elsif ($name eq '#') { return '${#}' } # "${#}a" vs "$#a"
+ }
+ if ($prefix eq '$#') {
return "\$#{$name}";
+ }
}
my $v = ($prefix eq '$#' ? '@' : $prefix) . $name;
@x = ($#{(}, $#{)}, $#{[}, $#{{}, $#{]}, $#{}}, $#{'}, $#{"}, $#{,});
@x = ($#{<}, $#{.}, $#{>}, $#{/}, $#{?}, $#{=}, $#+, $#{\}, $#{|}, $#-);
@x = ($#{;}, $#{:});
+####
+# ${#} interpolated (the first line magically disables the warning)
+() = *#;
+() = "${#}a";
L<B::Deparse> has been upgraded from version 1.07 to 1.08.
-It now correctly deparses C<$#{/}>.
+It now correctly deparses C<$#{/}> and C<qq(${#}a)>.
=item *