=head1 NAME
CORE - Namespace for Perl's core routines
=head1 SYNOPSIS
BEGIN {
*CORE::GLOBAL::hex = sub { 1; };
}
print hex("0x50"),"\n"; # prints 1
print CORE::hex("0x50"),"\n"; # prints 80
CORE::say "yes"; # prints yes
BEGIN { *shove = \&CORE::push; }
shove @array, 1,2,3; # pushes on to @array
=head1 DESCRIPTION
The C namespace gives access to the original built-in functions of
Perl. The C package is built into
Perl, and therefore you do not need to use or
require a hypothetical "CORE" module prior to accessing routines in this
namespace.
A list of the built-in functions in Perl can be found in L.
For all Perl keywords, a C prefix will force the built-in function
to be used, even if it has been overridden or would normally require the
L pragma. Despite appearances, this has nothing to do with the
CORE package, but is part of Perl's syntax.
For many Perl functions, the CORE package contains real subroutines. This
feature is new in Perl 5.16. You can take references to these and make
aliases. However, some can only be called as barewords; i.e., you cannot
use ampersand syntax (C<&foo>) or call them through references. See the
C example above. These subroutines exist for all keywords except the following:
C<__DATA__>, C<__END__>, C, C, C, C, C,
C, C, C, C, C, C, C, C,
C, C, C, C, C, C, C, C, C,
C, C