A bareword such as "::CORE::foo", where it refers to a GV, is liable to be
confused with the "CORE::foo" syntax, which can't refer to a GV but is a
way of supplying a keyword, and is illegal if the keyword doesn't exist.
Make sure to deparse it with the "::" prefix. Fixes [perl #113714].
{
$stash = "";
} else {
+ $stash = "::$stash" if $stash eq "CORE";
$stash = $stash . "::";
}
if (!$raw and $name =~ /^(\^..|{)/) {
my $str;
$str = 'foo';
$str =~ tr/\cA//;
+####
+# CORE::foo special case in bareword parsing
+print ::CORE::foo $a;