This manual page is for Mac OS X version 10.6

If you are running a different version of Mac OS X, view the documentation locally:

  • In Terminal, using the man(1) command

Reading manual pages

Manual pages are intended as a quick reference for people who already understand a technology.

  • For more information about the manual page format, see the manual page for manpages(5).

  • For more information about this technology, look for other documentation in the Apple Reference Library.

  • For general information about writing shell scripts, read Shell Scripting Primer.



CORE(3pm)                             Perl Programmers Reference Guide                             CORE(3pm)



NAME
       CORE - Pseudo-namespace for Perl's core routines

SYNOPSIS
           BEGIN {
               *CORE::GLOBAL::hex = sub { 1; };
           }

           print hex("0x50"),"\n";                     # prints 1
           print CORE::hex("0x50"),"\n";               # prints 80

DESCRIPTION
       The "CORE" namespace gives access to the original built-in functions of Perl. There is no "CORE"
       package, and therefore you do not need to use or require an hypothetical "CORE" module prior to
       accessing routines in this namespace.

       A list of the built-in functions in Perl can be found in perlfunc.

OVERRIDING CORE FUNCTIONS
       To override a Perl built-in routine with your own version, you need to import it at compile-time.
       This can be conveniently achieved with the "subs" pragma. This will affect only the package in which
       you've imported the said subroutine:

           use subs 'chdir';
           sub chdir { ... }
           chdir $somewhere;

       To override a built-in globally (that is, in all namespaces), you need to import your function into
       the "CORE::GLOBAL" pseudo-namespace at compile time:

           BEGIN {
               *CORE::GLOBAL::hex = sub {
                   # ... your code here
               };
           }

       The new routine will be called whenever a built-in function is called without a qualifying package:

           print hex("0x50"),"\n";                     # prints 1

       In both cases, if you want access to the original, unaltered routine, use the "CORE::" prefix:

           print CORE::hex("0x50"),"\n";               # prints 80

AUTHOR
       This documentation provided by Tels <[email protected]> 2007.

SEE ALSO
       perlsub, perlfunc.



perl v5.8.9                                      2001-09-21                                        CORE(3pm)

Reporting Problems

The way to report a problem with this manual page depends on the type of problem:

Content errors
Report errors in the content of this documentation to the Perl project. (See perlbug(1) for submission instructions.)
Bug reports
Report bugs in the functionality of the described tool or API to Apple through Bug Reporter and to the Perl project using perlbug(1).
Formatting problems
Report formatting mistakes in the online version of these pages with the feedback links below.