Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
perl mirror
Perl C Perl6 XS Shell C++ Other

This branch is 28864 commits ahead of schacon:blead

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
Cross Bump version for 5.21.11 (if that happens)
NetWare Bump version for 5.21.11 (if that happens)
Porting Upgrade IO-Socket-IP from version 0.36 to 0.37
cpan Upgrade IO-Socket-IP from version 0.36 to 0.37
cygwin avoid a "FILE" name conflict with cygwin's wchar.h
dist Remove 'use lib' left over from refactoring -- five years ago!
djgpp Remove some remnants of x2p, which was removed by commit e5a8a0f
ext Increase $XS::APItest::VERSION to 0.72
h2pl [RT #36079] Convert ` to '.
haiku Remove "register" declarations
hints Bump version for 5.21.11 (if that happens)
lib Reword reference to $ENV{PERL_UNICODE} in utf8
os2 bump $VERSION for PerlIO-encoding, PerlIO-mmap, PerlIO-scalar, OS2-Pr…
plan9 Bump version for 5.21.11 (if that happens)
pod pod/perluniintro: Update for EBCDIC and newer Unicode handling
qnx Fix typos (spelling errors) in qnx/*.
regen [perl #123790] Disable targlex for some ops
symbian Configure: lrintl, lroundl, llrintl, llroundl
t toke.c: UTF-8 aware warning cleanups
utils add "what it does" comment to utils/enc2xs.PL
vms Create new perldelta for 5.21.11 (if that happens)
vos Build perl using the dynamic linking capabilities of OpenVOS Release …
win32 Replace common Emacs file-local variables with dir-locals
.dir-locals.el Replace common Emacs file-local variables with dir-locals
.gitignore automatically sort the MANIFEST if necessary
AUTHORS Update David Wheeler's email address
Artistic Expand tabs in Artistic license to spaces
Changes Change the example in the Changes file to be more generic.
Configure Missing Configure messages.
Copying Update F<Copying> with the FSF's new address.
EXTERN.h Ditch the custom extern/const model on VMS.
INSTALL Bump version for 5.21.11 (if that happens)
INTERN.h Ditch the custom extern/const model on VMS.
MANIFEST save_re_context(): do "local $n" with no PL_curpm
META.json Bump version for 5.21.11 (if that happens)
META.yml Bump version for 5.21.11 (if that happens)
Makefile.SH Create new perldelta for 5.21.11 (if that happens)
Makefile.micro Change name of mro.c
Policy_sh.SH add shebangs where missing
README Release prep - Update version/copyright information.
README.aix podcheck.
README.amiga Pod cleanup for F<> and L<>
README.android INSTALL: Updates to the cross-compilation section
README.bs2000 Remove the VM/ESA port.
README.ce Document how to build perl for WinCE using EVC4
README.cn Converted Asian documentations to utf-8
README.cygwin Correct double mention of winpid_to_pid.
README.dos README.$OS URLs
README.freebsd Update README.freebsd with the new approach for making $^X absolute.
README.haiku Bump version for 5.21.11 (if that happens)
README.hpux Corrections to spelling and grammatical errors.
README.hurd README.foo: Change NAME to perlfoo
README.irix README.foo: Change NAME to perlfoo
README.jp Converted Asian documentations to utf-8
README.ko README.ko: remove blank line
README.linux README.foo: Change NAME to perlfoo
README.macos README.foo: Change NAME to perlfoo
README.macosx Bump version for 5.21.11 (if that happens)
README.micro Make the request to fix rather than report bugs in microperl politer.
README.netware fix various Pod line length warnings
README.openbsd README.foo: Change NAME to perlfoo
README.os2 Bump version for 5.21.11 (if that happens)
README.os390 Remove some remnants of x2p, which was removed by commit e5a8a0f
README.os400 README.foo: Change NAME to perlfoo
README.plan9 [PATCH] Doc spellcheck + podcheck
README.qnx README.qnx: Make verbatim line fit in 79 columns
README.riscos README.foo: Change NAME to perlfoo
README.solaris README.solaris: Add a section for cross-compilation
README.symbian README.foo: Change NAME to perlfoo
README.synology README.synology: Wrap too-long verbatim line
README.tru64 Tru64: Document "read_cur_obj_info: bad file magic number" error.
README.tw tweak perltw.pod for long lines (and default exports)
README.vms Bump version for 5.21.11 (if that happens)
README.vos Update README.vos to reflect recent changes
README.win32 Win32 Intel C is always C99 now
TestInit.pm Get closure.t working under minitest
XSUB.h Replace common Emacs file-local variables with dir-locals
asan_ignore asan_ignore: exclude S_expect_number()
autodoc.pl Remove duplicate apidoc entries
av.c Replace common Emacs file-local variables with dir-locals
av.h Replace common Emacs file-local variables with dir-locals
caretx.c Replace common Emacs file-local variables with dir-locals
cflags.SH Prefer -std=c89 over -ansi.
charclass_invlists.h Update information about using older Unicode
config_h.SH Configure: add note about nvsize sometimes lying
configpm Grab the warnflags and stdflags from cflags [perl #122694].
configure.com configure.com does handle usedevel.
configure.gnu Remove "dead" RCS $Id$ tags from files that we own.
cop.h Replace common Emacs file-local variables with dir-locals
cv.h Replace common Emacs file-local variables with dir-locals
deb.c Replace common Emacs file-local variables with dir-locals
doio.c Replace common Emacs file-local variables with dir-locals
doop.c Replace common Emacs file-local variables with dir-locals
dosish.h Replace common Emacs file-local variables with dir-locals
dquote_static.c Replace common Emacs file-local variables with dir-locals
dump.c Replace common Emacs file-local variables with dir-locals
ebcdic_tables.h Make many EBCDIC tables generated instead of hand-coded
embed.fnc Change /(?[...]) to have normal operator precedence
embed.h Change /(?[...]) to have normal operator precedence
embedvar.h Add \b{sb}
fakesdio.h Replace common Emacs file-local variables with dir-locals
feature.h Add bitwise feature feature
form.h better document format code
generate_uudmap.c generate_uudmap.c: Clarify comment
globals.c Replace common Emacs file-local variables with dir-locals
globvar.sym globvar.sym: include PL_ prefix in names
gv.c gv_const_sv() handle subrefs directly in the stash
gv.h Replace common Emacs file-local variables with dir-locals
handy.h Replace common Emacs file-local variables with dir-locals
hv.c Stop $^H |= 0x1c020000 from enabling all features
hv.h Replace common Emacs file-local variables with dir-locals
hv_func.h Replace common Emacs file-local variables with dir-locals
inline.h Replace common Emacs file-local variables with dir-locals
inline_invlist.c Move inline fcn to #included file
install_lib.pl make link->copy fallback work again [#123141]
installhtml Fixed verbatim lines in POD over 79 characters
installman Replace common Emacs file-local variables with dir-locals
installperl Replace common Emacs file-local variables with dir-locals
intrpvar.h Bump version for 5.21.11 (if that happens)
iperlsys.h Replace common Emacs file-local variables with dir-locals
keywords.c Remove or downgrade unnecessary dVAR.
keywords.h Remove or downgrade unnecessary dVAR.
l1_char_class_tab.h \s matching VT is no longer experimental
locale.c Replace common Emacs file-local variables with dir-locals
make_ext.pl special-case Pod::Checker ABSTRACT
make_patchnum.pl reduce stderr noise in build
makedef.pl Don't bother prettifying win32/perldll.def
makedepend.SH makedepend.SH: Split too long lines; properly join
malloc.c Replace common Emacs file-local variables with dir-locals
malloc_ctl.h Fix calling conventions in malloc_ctl.h
mathoms.c Revert "Mathomise save_re_context"
metaconfig.SH Remove some remnants of x2p, which was removed by commit e5a8a0f
metaconfig.h Configure syncup
mg.c Revert "Don’t call save_re_context"
mg.h Replace common Emacs file-local variables with dir-locals
mg_names.c Remove proto magic type
mg_raw.h Remove proto magic type
mg_vtable.h Remove proto magic type
miniperlmain.c Tru64: introduce PERL_SYS_FPU_INIT, use it.
mkppport Update podlators to CPAN version 2.4.0
mkppport.lst Move Cwd and List-Util to folders named as per their CPAN distributions
mro_core.c Replace common Emacs file-local variables with dir-locals
myconfig.SH Configure: add doublekind for the format of double.
mydtrace.h Replace common Emacs file-local variables with dir-locals
nostdio.h Replace common Emacs file-local variables with dir-locals
numeric.c Replace common Emacs file-local variables with dir-locals
op.c op.c: avoid direct op_sibling access
op.h Replace common Emacs file-local variables with dir-locals
op_reg_common.h op_reg_common.h: Add comment
opcode.h [perl #123790] Disable targlex for some ops
opnames.h Add OP_IS_INFIX_BIT
overload.c Add overload types for string-specifc bitops
overload.h Add overload types for string-specifc bitops
packsizetables.c Use IVSIZE not HAS_QUAD to enable 'q' and 'Q' formats in pack.
pad.c Replace common Emacs file-local variables with dir-locals
pad.h Replace common Emacs file-local variables with dir-locals
parser.h Replace common Emacs file-local variables with dir-locals
patchlevel.h Bump version for 5.21.11 (if that happens)
perl.c Replace common Emacs file-local variables with dir-locals
perl.h Don't raise Wide char warning in UTF-8 locale
perlapi.c Simplify embedvar.h, removing a level of macro indirection for PL_* v…
perlapi.h Static initialization using 1/0 or 0/0 not C89.
perldtrace.d Replace common Emacs file-local variables with dir-locals
perlio.c Replace common Emacs file-local variables with dir-locals
perlio.h Replace common Emacs file-local variables with dir-locals
perlio.sym Purge remaining references to PerlIO_sprintf and PerlIO_vsprintf().
perliol.h Replace common Emacs file-local variables with dir-locals
perlsdio.h Replace common Emacs file-local variables with dir-locals
perlvars.h Static initialization using 1/0 or 0/0 not C89.
perly.act perly.y: Remove type from ';'
perly.c Replace common Emacs file-local variables with dir-locals
perly.h perly.y: Remove type from ';'
perly.tab perly.y: Remove type from ';'
perly.y perly.y: Remove type from ';'
pp.c Replace common Emacs file-local variables with dir-locals
pp.h fix signed/unsigned mismatch in (M)EXTEND
pp_ctl.c Replace common Emacs file-local variables with dir-locals
pp_hot.c [perl #123790] Assert fail with *x=<y>
pp_pack.c Replace common Emacs file-local variables with dir-locals
pp_proto.h Add string- and number-specific bitop types
pp_sort.c Replace common Emacs file-local variables with dir-locals
pp_sys.c Replace common Emacs file-local variables with dir-locals
proto.h Change /(?[...]) to have normal operator precedence
reentr.c Unused contexts found under PERL_GLOBAL_STRUCT.
reentr.h [perl #115928] we don't use drand48_r or random_r any longer
regcharclass.h Update information about using older Unicode
regcomp.c Perl_save_re_context(): re-indent after last commit
regcomp.h Replace common Emacs file-local variables with dir-locals
regcomp.sym regcomp.sym: Update \b descriptions
regen.pl Refactor t/porting/regen.t to check everything (and the return values!).
regen_perly.pl Remove MAD.
regexec.c Replace common Emacs file-local variables with dir-locals
regexp.h Replace common Emacs file-local variables with dir-locals
regnodes.h regcomp.sym: Update \b descriptions
run.c Replace common Emacs file-local variables with dir-locals
runtests.SH avoid 'jobserver unavailable:' warnings
scope.c Replace common Emacs file-local variables with dir-locals
scope.h Replace common Emacs file-local variables with dir-locals
sv.c Revert "Don’t call save_re_context"
sv.h Replace common Emacs file-local variables with dir-locals
taint.c Replace common Emacs file-local variables with dir-locals
thread.h Replace common Emacs file-local variables with dir-locals
time64.c Use the Perl_ math in time64.c, too.
time64.h time64.h: On QNX, use const for tm_zone
time64_config.h Make time64 use NV for time_t, I32 for year, not Quad_t.
toke.c toke.c: UTF-8 aware warning cleanups
uconfig.h regen uconfig.h
uconfig.sh Configure: lrintl, lroundl, llrintl, llroundl
uconfig64.sh Configure: lrintl, lroundl, llrintl, llroundl
unicode_constants.h Tighten uses of regex synthetic start class
universal.c Replace common Emacs file-local variables with dir-locals
unixish.h Replace common Emacs file-local variables with dir-locals
utf8.c Revert "Don’t call save_re_context"
utf8.h Replace common Emacs file-local variables with dir-locals
utfebcdic.h Replace common Emacs file-local variables with dir-locals
util.c Revert "Don’t call save_re_context"
util.h Replace common Emacs file-local variables with dir-locals
utils.lst Update Encode to CPAN version 2.70
vutil.c PATCH: [perl #121930] Bleadperl breaks MDOOTSON/Wx
vutil.h Lots of C optimizations for both speed/correctness
vxs.inc vutil.c, vxs.inc: Avoid warnings from -Wmissing-prototypes -Wundef -W…
warnings.h Add experimental::bitwise warnings category
write_buildcustomize.pl Replace common Emacs file-local variables with dir-locals

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.