Skip to content
perl mirror
Perl C Perl6 XS Shell C++ Other
Pull request Compare This branch is 29155 commits ahead of schacon:blead.
Latest commit 31ada1f Apr 4, 2015 @jimc jimc committed with tonycoz fix XXX on DEBUG_TOP_FLAG comment
DEBUG_TOP_FLAG is ORd into PL_debug when -D option is used, so that
"if (PL_debug)" can be used, w/o also enabling (or requiring) any
specific DEBUG_(.)_FLAGs.  It is used in Perl_runops_debug to
short-circuit several DEBUG_(.)_TESTs.
Failed to load latest commit information.
Cross bump version to v5.23.0 Jun 1, 2015
NetWare bump version to v5.23.0 Jun 1, 2015
Porting perldelta_template: Add L<> around 2 links Jun 1, 2015
cpan Apply changes for CPAN-Meta-YAML v0.014. Jun 1, 2015
cygwin avoid a "FILE" name conflict with cygwin's wchar.h Feb 18, 2014
dist Fix bug in Math::BigFloat's bceil() and bint() methods. Jun 2, 2015
djgpp Remove some remnants of x2p, which was removed by commit e5a8a0f Feb 18, 2015
ext POSIX.pm: bump version May 8, 2015
h2pl [RT #36079] Convert ` to '. Nov 22, 2011
haiku Remove "register" declarations Nov 24, 2012
hints bump version to v5.23.0 Jun 1, 2015
lib mktables: Under -annotate use dotted circle for combining marks Jun 1, 2015
os2 bump $VERSION for PerlIO-encoding, PerlIO-mmap, PerlIO-scalar, OS2-Pr… Jun 12, 2014
plan9 bump version to v5.23.0 Jun 1, 2015
pod perldelta for b4a10d3, 3f18565, 8db2973, 0d2463e, 669bc51 Jun 2, 2015
qnx Fix typos (spelling errors) in qnx/*. Jan 7, 2011
regen feature: add the 5.23 bundle (same as 5.22) Jun 1, 2015
symbian Configure: lrintl, lroundl, llrintl, llroundl Feb 2, 2015
t Handle fcntl(F_GETPIPE_SZ) failure in t/io/eintr.t Jun 2, 2015
utils add "what it does" comment to utils/enc2xs.PL Mar 11, 2015
vms add perldelta for 5.23.0 Jun 1, 2015
vos Build perl using the dynamic linking capabilities of OpenVOS Release … Nov 4, 2011
win32 drop the perldeltas for 5.21.* Jun 1, 2015
.dir-locals.el Replace common Emacs file-local variables with dir-locals Mar 22, 2015
.gitignore automatically sort the MANIFEST if necessary Dec 25, 2014
AUTHORS James McCoy is now a perl AUTHOR Apr 16, 2015
Artistic Expand tabs in Artistic license to spaces Dec 29, 2011
Changes Change the example in the Changes file to be more generic. Jun 30, 2011
Configure Missing Configure messages. Feb 25, 2015
Copying Update F<Copying> with the FSF's new address. Dec 19, 2011
EXTERN.h Ditch the custom extern/const model on VMS. Jan 2, 2015
INSTALL bump version to v5.23.0 Jun 1, 2015
INTERN.h Ditch the custom extern/const model on VMS. Jan 3, 2015
MANIFEST Apply changes for CPAN-Meta-YAML v0.014. Jun 1, 2015
META.json version bump: make regen and make META.json Jun 1, 2015
META.yml bump version to v5.23.0 Jun 1, 2015
Makefile.SH add perldelta for 5.23.0 Jun 1, 2015
Makefile.micro Change name of mro.c Mar 19, 2015
Policy_sh.SH add shebangs where missing Sep 22, 2012
README Release prep - Update version/copyright information. Jan 20, 2015
README.aix podcheck. Oct 6, 2014
README.amiga Pod cleanup for F<> and L<> Feb 1, 2011
README.android INSTALL: Updates to the cross-compilation section Jan 30, 2014
README.bs2000 Add note to EBCDIC README's, asking for input May 8, 2015
README.ce Document how to build perl for WinCE using EVC4 Nov 28, 2013
README.cn Converted Asian documentations to utf-8 Apr 14, 2013
README.cygwin Correct double mention of winpid_to_pid. Jul 31, 2014
README.dos README.$OS URLs Apr 1, 2007
README.freebsd Update README.freebsd with the new approach for making $^X absolute. Sep 28, 2011
README.haiku bump version to v5.23.0 Jun 1, 2015
README.hpux Corrections to spelling and grammatical errors. Jan 28, 2015
README.hurd README.foo: Change NAME to perlfoo Jul 2, 2011
README.irix README.foo: Change NAME to perlfoo Jul 3, 2011
README.jp Converted Asian documentations to utf-8 Apr 14, 2013
README.ko README.ko: remove blank line Jul 4, 2013
README.linux README.foo: Change NAME to perlfoo Jul 3, 2011
README.macos README.foo: Change NAME to perlfoo Jul 3, 2011
README.macosx bump version to v5.23.0 Jun 1, 2015
README.micro Make the request to fix rather than report bugs in microperl politer. Mar 28, 2011
README.netware fix various Pod line length warnings May 23, 2013
README.openbsd README.foo: Change NAME to perlfoo Jul 3, 2011
README.os2 bump version to v5.23.0 Jun 1, 2015
README.os390 Add note to EBCDIC README's, asking for input May 8, 2015
README.os400 Add note to EBCDIC README's, asking for input May 8, 2015
README.plan9 [PATCH] Doc spellcheck + podcheck Nov 16, 2001
README.qnx README.qnx: Make verbatim line fit in 79 columns Feb 2, 2014
README.riscos README.foo: Change NAME to perlfoo Jul 3, 2011
README.solaris README.solaris: Add a section for cross-compilation Jan 30, 2014
README.symbian README.foo: Change NAME to perlfoo Jul 3, 2011
README.synology README.synology: Wrap too-long verbatim line Mar 7, 2015
README.tru64 Tru64: Document "read_cur_obj_info: bad file magic number" error. Oct 7, 2014
README.tw tweak perltw.pod for long lines (and default exports) Jun 9, 2013
README.vms bump version to v5.23.0 Jun 1, 2015
README.vos Update README.vos to reflect recent changes Mar 19, 2013
README.win32 bump version to v5.23.0 Jun 1, 2015
TestInit.pm Get closure.t working under minitest Sep 2, 2014
XSUB.h Replace common Emacs file-local variables with dir-locals Mar 23, 2015
asan_ignore asan_ignore: exclude S_expect_number() Dec 31, 2014
autodoc.pl perlapi: Clearer wording in intro May 7, 2015
av.c Replace common Emacs file-local variables with dir-locals Mar 23, 2015
av.h Replace common Emacs file-local variables with dir-locals Mar 23, 2015
caretx.c Replace common Emacs file-local variables with dir-locals Mar 23, 2015
cflags.SH Prefer -std=c89 over -ansi. Nov 24, 2014
charclass_invlists.h mktables: Under -annotate use dotted circle for combining marks Jun 2, 2015
config_h.SH Configure: add note about nvsize sometimes lying Mar 2, 2015
configpm Grab the warnflags and stdflags from cflags [perl #122694]. Sep 4, 2014
configure.com Correct default for usedevel on VMS. May 21, 2015
configure.gnu Remove "dead" RCS $Id$ tags from files that we own. Dec 16, 2010
cop.h RT #124156: death during unwinding causes crash May 15, 2015
cv.h Replace common Emacs file-local variables with dir-locals Mar 23, 2015
deb.c Replace common Emacs file-local variables with dir-locals Mar 23, 2015
doio.c Replace common Emacs file-local variables with dir-locals Mar 23, 2015
doop.c Replace common Emacs file-local variables with dir-locals Mar 23, 2015
dosish.h Replace common Emacs file-local variables with dir-locals Mar 23, 2015
dquote_static.c Replace common Emacs file-local variables with dir-locals Mar 23, 2015
dump.c rename op_lastsib to op_moresib, and invert logic Apr 19, 2015
ebcdic_tables.h Make many EBCDIC tables generated instead of hand-coded May 31, 2014
embed.fnc null ptr deref in Perl_cv_forget_slab May 5, 2015
embed.h op_parent(): only exist under -DPERL_OP_PARENT Apr 19, 2015
embedvar.h Add \b{sb} Feb 19, 2015
fakesdio.h Replace common Emacs file-local variables with dir-locals Mar 23, 2015
feature.h Add bitwise feature feature Jan 31, 2015
form.h better document format code May 29, 2011
generate_uudmap.c generate_uudmap.c: Clarify comment Dec 11, 2014
globals.c Replace common Emacs file-local variables with dir-locals Mar 23, 2015
globvar.sym globvar.sym: include PL_ prefix in names Sep 22, 2014
gv.c gv_const_sv() handle subrefs directly in the stash Mar 24, 2015
gv.h Replace common Emacs file-local variables with dir-locals Mar 23, 2015
handy.h perlapi: Document some functions May 7, 2015
hv.c Stop $^H |= 0x1c020000 from enabling all features Mar 27, 2015
hv.h Replace common Emacs file-local variables with dir-locals Mar 23, 2015
hv_func.h Replace common Emacs file-local variables with dir-locals Mar 23, 2015
inline.h Replace common Emacs file-local variables with dir-locals Mar 23, 2015
inline_invlist.c Move inline fcn to #included file Jan 21, 2015
install_lib.pl make link->copy fallback work again [#123141] Dec 1, 2014
installhtml Fixed verbatim lines in POD over 79 characters Jun 22, 2013
installman Replace common Emacs file-local variables with dir-locals Mar 23, 2015
installperl Replace common Emacs file-local variables with dir-locals Mar 23, 2015
intrpvar.h bump version to v5.23.0 Jun 1, 2015
iperlsys.h Replace common Emacs file-local variables with dir-locals Mar 23, 2015
keywords.c Remove or downgrade unnecessary dVAR. Jun 25, 2014
keywords.h Remove or downgrade unnecessary dVAR. Jun 25, 2014
l1_char_class_tab.h \s matching VT is no longer experimental Feb 21, 2015
locale.c locale.c: White-space, comment only Jun 1, 2015
make_ext.pl special-case Pod::Checker ABSTRACT Dec 3, 2014
make_patchnum.pl reduce stderr noise in build Dec 3, 2014
makedef.pl op_parent(): only exist under -DPERL_OP_PARENT Apr 19, 2015
makedepend.SH makedepend.SH: Split too long lines; properly join Oct 21, 2014
malloc.c Replace common Emacs file-local variables with dir-locals Mar 23, 2015
malloc_ctl.h Fix calling conventions in malloc_ctl.h Oct 21, 2010
mathoms.c Revert "Mathomise save_re_context" Mar 30, 2015
metaconfig.SH Remove some remnants of x2p, which was removed by commit e5a8a0f Feb 18, 2015
metaconfig.h Configure syncup Nov 23, 2014
mg.c Revert "Don’t call save_re_context" Mar 30, 2015
mg.h Replace common Emacs file-local variables with dir-locals Mar 23, 2015
mg_names.c Remove proto magic type Nov 30, 2014
mg_raw.h Remove proto magic type Nov 30, 2014
mg_vtable.h Remove proto magic type Nov 30, 2014
miniperlmain.c Tru64: introduce PERL_SYS_FPU_INIT, use it. Sep 26, 2014
mkppport Update podlators to CPAN version 2.4.0 Oct 18, 2010
mkppport.lst Move Cwd and List-Util to folders named as per their CPAN distributions Oct 24, 2013
mro_core.c Replace common Emacs file-local variables with dir-locals Mar 23, 2015
myconfig.SH Configure: add doublekind for the format of double. Nov 2, 2014
mydtrace.h Replace common Emacs file-local variables with dir-locals Mar 23, 2015
nostdio.h Replace common Emacs file-local variables with dir-locals Mar 23, 2015
numeric.c Replace common Emacs file-local variables with dir-locals Mar 23, 2015
op.c allow undef as an arg to '&' prototype May 8, 2015
op.h add Op(MORE|LAST|MAYBE)SIB_set; rm OpSIBLING_set Apr 19, 2015
op_reg_common.h op_reg_common.h: Add comment Mar 9, 2015
opcode.h [perl #123790] Disable targlex for some ops Mar 26, 2015
opnames.h Add OP_IS_INFIX_BIT Jan 31, 2015
overload.c Add overload types for string-specifc bitops Jan 31, 2015
overload.h Add overload types for string-specifc bitops Feb 1, 2015
packsizetables.c Use IVSIZE not HAS_QUAD to enable 'q' and 'Q' formats in pack. Sep 17, 2013
pad.c dont use a 64 bit constant for a 32 bit value May 19, 2015
pad.h Replace common Emacs file-local variables with dir-locals Mar 23, 2015
parser.h Replace common Emacs file-local variables with dir-locals Mar 23, 2015
patchlevel.h bump version to v5.23.0 Jun 1, 2015
perl.c remove obsolete VOL in S_parse_body Jun 2, 2015
perl.h fix XXX on DEBUG_TOP_FLAG comment Jun 2, 2015
perlapi.c Simplify embedvar.h, removing a level of macro indirection for PL_* v… Aug 11, 2011
perlapi.h Static initialization using 1/0 or 0/0 not C89. Sep 1, 2014
perldtrace.d Replace common Emacs file-local variables with dir-locals Mar 23, 2015
perlio.c Replace common Emacs file-local variables with dir-locals Mar 23, 2015
perlio.h Replace common Emacs file-local variables with dir-locals Mar 23, 2015
perlio.sym Purge remaining references to PerlIO_sprintf and PerlIO_vsprintf(). Oct 7, 2013
perliol.h Replace common Emacs file-local variables with dir-locals Mar 23, 2015
perlsdio.h Replace common Emacs file-local variables with dir-locals Mar 23, 2015
perlvars.h Static initialization using 1/0 or 0/0 not C89. Sep 1, 2014
perly.act perly.y: Remove type from ';' Feb 15, 2015
perly.c Replace common Emacs file-local variables with dir-locals Mar 23, 2015
perly.h perly.y: Remove type from ';' Feb 16, 2015
perly.tab perly.y: Remove type from ';' Feb 16, 2015
perly.y perly.y: Remove type from ';' Feb 16, 2015
pp.c Replace common Emacs file-local variables with dir-locals Mar 23, 2015
pp.h fix signed/unsigned mismatch in (M)EXTEND Mar 25, 2015
pp_ctl.c s/.../$_++/ge assertion failure Apr 22, 2015
pp_hot.c Revert "pp_helem: Remove branch seemingly untaken (v2)" Apr 8, 2015
pp_pack.c pack('f', $NAN) must account for NAN_COMPARE_BROKEN platforms May 20, 2015
pp_proto.h Add string- and number-specific bitop types Jan 31, 2015
pp_sort.c Replace common Emacs file-local variables with dir-locals Mar 23, 2015
pp_sys.c Replace common Emacs file-local variables with dir-locals Mar 23, 2015
proto.h null ptr deref in Perl_cv_forget_slab May 5, 2015
reentr.c Unused contexts found under PERL_GLOBAL_STRUCT. Jun 24, 2014
reentr.h [perl #115928] we don't use drand48_r or random_r any longer Sep 13, 2013
regcharclass.h mktables: Under -annotate use dotted circle for combining marks Jun 2, 2015
regcomp.c avoid uninit read in re_op_compile() Apr 28, 2015
regcomp.h Replace common Emacs file-local variables with dir-locals Mar 23, 2015
regcomp.sym regcomp.sym: Update \b descriptions Mar 18, 2015
regen.pl Refactor t/porting/regen.t to check everything (and the return values!). Jul 24, 2013
regen_perly.pl Remove MAD. Jun 13, 2014
regexec.c PATCH: [perl #124348] re/pat_advanced solaris failure Apr 29, 2015
regexp.h Replace common Emacs file-local variables with dir-locals Mar 23, 2015
regnodes.h regcomp.sym: Update \b descriptions Mar 18, 2015
run.c Replace common Emacs file-local variables with dir-locals Mar 23, 2015
runtests.SH avoid 'jobserver unavailable:' warnings Dec 8, 2014
scope.c Replace common Emacs file-local variables with dir-locals Mar 23, 2015
scope.h Replace common Emacs file-local variables with dir-locals Mar 23, 2015
sv.c perl_clone_using: Zero -DPERL_TRACE_OPS mem for sub-threads Jun 2, 2015
sv.h perlapi: Add 2 links to other parts of the pod May 8, 2015
taint.c Replace common Emacs file-local variables with dir-locals Mar 23, 2015
thread.h Replace common Emacs file-local variables with dir-locals Mar 23, 2015
time64.c Use the Perl_ math in time64.c, too. Sep 10, 2014
time64.h time64.h: On QNX, use const for tm_zone Jan 23, 2014
time64_config.h Make time64 use NV for time_t, I32 for year, not Quad_t. Apr 25, 2009
toke.c [perl #123737] Fix assertion failure with 0$#{ Apr 25, 2015
uconfig.h version bump: make regen and make META.json Jun 1, 2015
uconfig.sh bump version to v5.23.0 Jun 1, 2015
uconfig64.sh bump version to v5.23.0 Jun 1, 2015
unicode_constants.h Tighten uses of regex synthetic start class Sep 29, 2014
universal.c perlapi: Wrap long verbatim lines to 79 columns Apr 23, 2015
unixish.h Replace common Emacs file-local variables with dir-locals Mar 23, 2015
utf8.c perlapi: Remove extraneous ">" May 12, 2015
utf8.h perlapi: Add intro text to Unicode section May 7, 2015
utfebcdic.h utfebcdic.h: Remove comments Apr 6, 2015
util.c Revert "Don’t call save_re_context" Mar 30, 2015
util.h Replace common Emacs file-local variables with dir-locals Mar 23, 2015
utils.lst Update Encode to CPAN version 2.70 Feb 6, 2015
vutil.c PATCH: [perl #121930] Bleadperl breaks MDOOTSON/Wx Aug 11, 2014
vutil.h Lots of C optimizations for both speed/correctness Jan 18, 2014
vxs.inc vutil.c, vxs.inc: Avoid warnings from -Wmissing-prototypes -Wundef -W… Feb 4, 2014
warnings.h Add experimental::bitwise warnings category Jan 31, 2015
write_buildcustomize.pl Replace common Emacs file-local variables with dir-locals Mar 23, 2015

README

Perl is Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012,
2013, 2014, 2015 by Larry Wall and others.  All rights reserved.



ABOUT PERL
==========

Perl is a general-purpose programming language originally developed for
text manipulation and now used for a wide range of tasks including
system administration, web development, network programming, GUI
development, and more.

The language is intended to be practical (easy to use, efficient,
complete) rather than beautiful (tiny, elegant, minimal).  Its major
features are that it's easy to use, supports both procedural and
object-oriented (OO) programming, has powerful built-in support for text
processing, and has one of the world's most impressive collections of
third-party modules.

For an introduction to the language's features, see pod/perlintro.pod.

For a discussion of the important changes in this release, see
pod/perldelta.pod.

There are also many Perl books available, covering a wide variety of topics,
from various publishers.  See pod/perlbook.pod for more information.


INSTALLATION
============

If you're using a relatively modern operating system and want to
install this version of Perl locally, run the following commands:

  ./Configure -des -Dprefix=$HOME/localperl
  make test
  make install

This will configure and compile perl for your platform, run the regression
tests, and install perl in a subdirectory "localperl" of your home directory.

If you run into any trouble whatsoever or you need to install a customized
version of Perl, you should read the detailed instructions in the "INSTALL"
file that came with this distribution.  Additionally, there are a number of
"README" files with hints and tips about building and using Perl on a wide
variety of platforms, some more common than others.

Once you have Perl installed, a wealth of documentation is available to you
through the 'perldoc' tool.  To get started, run this command:

  perldoc perl


IF YOU RUN INTO TROUBLE
=======================

Perl is a large and complex system that's used for everything from
knitting to rocket science.  If you run into trouble, it's quite
likely that someone else has already solved the problem you're
facing. Once you've exhausted the documentation, please report bugs to us
using the 'perlbug' tool. For more information about perlbug, either type
'perldoc perlbug' or just 'perlbug' on a line by itself.

While it was current when we made it available, Perl is constantly evolving
and there may be a more recent version that fixes bugs you've run into or
adds new features that you might find useful.

You can always find the latest version of perl on a CPAN (Comprehensive Perl
Archive Network) site near you at http://www.cpan.org/src/

If you want to submit a simple patch to the perl source, see the "SUPER
QUICK PATCH GUIDE" in pod/perlhack.pod.

Just a personal note:  I want you to know that I create nice things like this
because it pleases the Author of my story.  If this bothers you, then your
notion of Authorship needs some revision.  But you can use perl anyway. :-)

							The author.


LICENSING
=========

This program is free software; you can redistribute it and/or modify
it under the terms of either:

	a) the GNU General Public License as published by the Free
	Software Foundation; either version 1, or (at your option) any
	later version, or

	b) the "Artistic License" which comes with this Kit.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See either
the GNU General Public License or the Artistic License for more details.

You should have received a copy of the Artistic License with this
Kit, in the file named "Artistic".  If not, I'll be glad to provide one.

You should also have received a copy of the GNU General Public License
along with this program in the file named "Copying". If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA or visit their web page on the internet at
http://www.gnu.org/copyleft/gpl.html.

For those of you that choose to use the GNU General Public License,
my interpretation of the GNU General Public License is that no Perl
script falls under the terms of the GPL unless you explicitly put
said script under the terms of the GPL yourself.  Furthermore, any
object code linked with perl does not automatically fall under the
terms of the GPL, provided such object code only adds definitions
of subroutines and variables, and does not otherwise impair the
resulting interpreter from executing any standard Perl script.  I
consider linking in C subroutines in this manner to be the moral
equivalent of defining subroutines in the Perl language itself.  You
may sell such an object file as proprietary provided that you provide
or offer to provide the Perl source, as specified by the GNU General
Public License.  (This is merely an alternate way of specifying input
to the program.)  You may also sell a binary produced by the dumping of
a running Perl script that belongs to you, provided that you provide or
offer to provide the Perl source as specified by the GPL.  (The
fact that a Perl interpreter and your code are in the same binary file
is, in this case, a form of mere aggregation.)  This is my interpretation
of the GPL.  If you still have concerns or difficulties understanding
my intent, feel free to contact me.  Of course, the Artistic License
spells all this out for your protection, so you may prefer to use that.


Something went wrong with that request. Please try again.