Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
perl5
Perl C Shell Prolog Other

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
Cross Bump version for 5.19.5
NetWare Removed the define for FCALL
Porting Remove pod/perlembed.pod in wake of RT #120093 corrections.
cpan Update Unicode-Normalize to CPAN version 1.17
cygwin Removed the ifdefs for INCOMPLETE_TAINTS
dist Upgrade to Unicode 6.3
djgpp Removed the ifdefs for INCOMPLETE_TAINTS
ext Fix ext/File-Glob/t/threads.t filenames for VMS.
h2pl [RT #36079] Convert ` to '.
haiku Remove "register" declarations
hints Bump version for 5.19.5
lib new warnings category, so bump warnings.pm
mad Remove references to Mac OS classic from comments the opcode descript…
os2 Removed the ifdefs for INCOMPLETE_TAINTS
plan9 Bump version for 5.19.5
pod correct documentation of postfix glob deref
qnx Fix typos (spelling errors) in qnx/*.
regen new warnings category, so bump warnings.pm
symbian Regenerate Configure and chainsaw voidflags
t Fix a bug with ->@ inside "@{...}"
utils Generate utils/Makefile from utils/Makefile.PL, and remove it at clea…
vms Add new perldelta for 5.19.5
vos Build perl using the dynamic linking capabilities of OpenVOS Release …
win32 Removed the ifdefs for INCOMPLETE_TAINTS
x2p Stop using VOIDUSED in the headers.
.gitignore restore XS module building for WinCE
AUTHORS Remove pod/perlembed.pod in wake of RT #120093 corrections.
Artistic Expand tabs in Artistic license to spaces
Changes Change the example in the Changes file to be more generic.
Configure Atari FreeMiNT: MiNT does not have .exe for _exe
Copying Update F<Copying> with the FSF's new address.
EXTERN.h Fix indentation after a19baa6
INSTALL Bump version for 5.19.5
INTERN.h Revert bogus change 28763.
MANIFEST Add postfixderef.t to MANIFEST
META.json Regen META files for CPAN::Meta update
META.yml Regen META files for CPAN::Meta update
Makefile.SH Add new perldelta for 5.19.5
Makefile.micro Split out hash functions into new file and turn into inline static fu…
Policy_sh.SH add shebangs where missing
README Update README copyright to 2013
README.aix Add AIX7 APAR requirement to get Time::Piece tests to pass.
README.amiga Pod cleanup for F<> and L<>
README.bs2000 Remove the VM/ESA port.
README.ce fix various Pod line length warnings
README.cn Converted Asian documentations to utf-8
README.cygwin fix various Pod line length warnings
README.dos README.$OS URLs
README.freebsd Update README.freebsd with the new approach for making $^X absolute.
README.haiku Bump version for 5.19.5
README.hpux Update HP-UX readme
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.19.5
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.19.5
README.os390 Remove the VM/ESA port.
README.os400 README.foo: Change NAME to perlfoo
README.plan9 [PATCH] Doc spellcheck + podcheck
README.qnx README.foo: Change NAME to perlfoo
README.riscos README.foo: Change NAME to perlfoo
README.solaris README.foo: Change NAME to perlfoo
README.symbian README.foo: Change NAME to perlfoo
README.tru64 fix various Pod line length warnings
README.tw tweak perltw.pod for long lines (and default exports)
README.vms Bump version for 5.19.5
README.vos Update README.vos to reflect recent changes
README.win32 Note that the USE_64_BIT_INT build option is not supported with MSVC+…
TestInit.pm Two small tidying refactors for TestInit.pm
XSUB.h Remove option to build without USE_SOCKETS_AS_HANDLES on Windows
autodoc.pl Update comment in autodoc.pl - it's not run from regen.pl
av.c Use SSize_t for arrays
av.h Skip trailing constants when searching pads
cflags.SH Exempt clang from -Wunused-value when run as cc
charclass_invlists.h Upgrade to Unicode 6.3
config_h.SH Regenerate Configure and chainsaw voidflags
configpm restore XS module building for WinCE
configure.com Teach configure.com about Perl_drand48 and friends.
configure.gnu Remove "dead" RCS $Id$ tags from files that we own.
cop.h Removed OP_IN_REGISTER and related defines.
cv.h Add a const qualifier for the arg to the S_CvGV inline function in cv.h.
deb.c Omnibus removal of register declarations
doio.c Removed the ifdefs for INCOMPLETE_TAINTS
doop.c Use separate macros for byte vs uv Unicode
dosish.h Remove HAS_64K_LIMIT
dquote_static.c Deprecate certain rare uses of backslashes within regexes
dump.c Remove OPpCONST_FOLDED
embed.fnc regcomp.c: Remove unused parameter in static function
embed.h regcomp.c: Remove unused parameter in static function
embedvar.h Remove PL_ASCII; use existing array slots for it
fakesdio.h update the editor hints for spaces, not tabs
feature.h Add postderef_qq feature feature
form.h better document format code
generate_uudmap.c Create a lookup table for magic vtables from magic type, PL_magic_data.
globals.c update the editor hints for spaces, not tabs
globvar.sym add PL_reg_intflags_name to globvar.sym - used in debugging regex engine
gv.c Remove bad assertion in gv.c:newGP
gv.h Reset method caches when GPs are shared
handy.h Add a USING_MSVC6 macro to identify Microsoft Visual C++ 6.0
hv.c hv.c: Stop being ASCII-centric
hv.h [perl #79074] make sure HeSVKEY_force() preserves UTF8ness (pvn)
hv_func.h Remove a __BORLANDC__ stowaway
inline.h Use separate macros for byte vs uv Unicode
inline_invlist.c regcomp.c: Add some asserts()
install_lib.pl install_lib.pl's samepath() should not warn if $p1 does not exist.
installhtml Fixed verbatim lines in POD over 79 characters
installman In install_lib.pl, no need to Config->import for the relocatableinc s…
installperl Remove Cwd from the "actually architecture dependant files" special c…
intrpvar.h Remove PL_ASCII; use existing array slots for it
iperlsys.h Stop making assumptions about uids and gids.
keywords.c Implement the fc keyword and the \F string escape.
keywords.h Implement the fc keyword and the \F string escape.
l1_char_class_tab.h Deprecate certain rare uses of backslashes within regexes
locale.c PATCH: [perl #119443] Blead won't compile on wince
madly.c update the editor hints for spaces, not tabs
make_ext.pl restore XS module building for WinCE
make_patchnum.pl typo fixes for root level scripts
makedef.pl Revert "[perl #117855] Store CopFILEGV in a pad under ithreads"
makedepend.SH Programmatically generate dependencies for all *.SH files.
malloc.c Remove HAS_64K_LIMIT
malloc_ctl.h Fix calling conventions in malloc_ctl.h
mathoms.c Move functions prematurely placed into mathoms back to utf8.c
metaconfig.SH 1; is not a valid no-op for /bin/sh, but true is.
metaconfig.h Add bootstrap_charset/BOOTSTRAP_CHARSET for non-ASCII architectures
mg.c Intercept assignment to $! to translate WSAExxx values to Exxx values…
mg.h mg.h: Suppress compiler warning
mg_names.c Add proto magic type
mg_raw.h Correct fm vtable in perlguts.pod
mg_vtable.h silence g++ warning with PL_magic_vtable_names
miniperlmain.c For -DPERL_GLOBAL_STRUCT, eliminate local variable plvarsp in main().
mkppport Update podlators to CPAN version 2.4.0
mkppport.lst Update List-Util to CPAN version 1.25
mro.c Teach mro code about null array elements
myconfig.SH add shebangs where missing
mydtrace.h fix dtrace (as emulated with systemtap) builds on linux
nostdio.h update the editor hints for spaces, not tabs
numeric.c Proper IEEE overflow semantics for VMS.
op.c Revert "Optimise if/unless wrt OP_AND/OP_OR/OP_DOR. Also optimise OP_…
op.h Remove OPpCONST_FOLDED
op_reg_common.h rework split() special case interaction with regex engine
opcode.h index/value array slice operation
opnames.h index/value array slice operation
overload.c [perl #114864] Don’t use amt for DESTROY
overload.h [perl #114864] Don’t use amt for DESTROY
packsizetables.c Use IVSIZE not HAS_QUAD to enable 'q' and 'Q' formats in pack.
pad.c Don’t give unavailability warnings about our vars
pad.h Skip trailing constants when searching pads
parser.h Allow ->@ ->$ interpolation under postderef_qq feature
patchlevel.h Bump version for 5.19.5
perl.c perl.c: Clean up some SV*s at termination
perl.h Postfix dereference syntax
perlapi.c Simplify embedvar.h, removing a level of macro indirection for PL_* v…
perlapi.h Hash Function Change - Murmur hash and true per process hash seed
perldtrace.d "loading-file" and "loaded-file" DTrace probes
perlio.c Consistently use __sun to identify SunOS
perlio.h Fix PerlIO_get_cnt and friends
perlio.sym Adjustment to symbol lists after latest changes (by Jarkko)
perliol.h update the editor hints for spaces, not tabs
perlsdio.h update the editor hints for spaces, not tabs
perlsfio.h update the editor hints for spaces, not tabs
perlvars.h Fix SEGVs and test failures for -DPERL_GLOBAL_STRUCT_PRIVATE
perly.act Allow ->@ ->$ interpolation under postderef_qq feature
perly.c Remove EBCDIC remappings
perly.h Allow ->@ ->$ interpolation under postderef_qq feature
perly.tab Allow ->@ ->$ interpolation under postderef_qq feature
perly.y Allow ->@ ->$ interpolation under postderef_qq feature
pp.c pp.c: Allow 64-bit stack offsets in kv[ah]slice
pp.h Eliminate POPq, POPuq, TOPq, TOPuq, dPOPqv, dTOPqv, qPOPuqv, dTOPuqv.
pp_ctl.c Remove unused variable 'mark' from pp_last.
pp_hot.c Make &xsub and goto &xsub work with tied @_
pp_pack.c Use IVSIZE not HAS_QUAD to enable 'q' and 'Q' formats in pack.
pp_proto.h index/value array slice operation
pp_sort.c Correct the citation for Peter McIlroy's sorting paper.
pp_sys.c Removed the ifdefs for INCOMPLETE_TAINTS
proto.h regcomp.c: Remove unused parameter in static function
reentr.c [perl #115928] we don't use drand48_r or random_r any longer
reentr.h [perl #115928] we don't use drand48_r or random_r any longer
regcharclass.h Upgrade to Unicode 6.3
regcomp.c regcomp.c: Fix up confusing comment
regcomp.h regcomp.c: Move bit to different data structure
regcomp.sym Allow trie use for /iaa matching
regen.pl Refactor t/porting/regen.t to check everything (and the return values!).
regen_perly.pl Improve the logic in regen_perly.pl for manually generating token mac…
regexec.c Rename regex flag bit for clarity
regexp.h Use SSize_t/STRLEN in more places in regexp code
regnodes.h Allow trie use for /iaa matching
run.c Remove PERL_ASYNC_CHECK() from Perl_leave_scope().
runtests.SH We don't actually need to set $ENV{PERL} for the tests to work.
scope.c op.c:leave_scope: use mg_free before sv_force_normal
scope.h Use SSize_t for arrays
sv.c Remove PL_ASCII; use existing array slots for it
sv.h sv.h: Make BmUSEFUL the same type on debug/non-debug builds
taint.c Stop making assumptions about uids and gids.
thread.h Remove DG/UX support.
time64.c Added asserts() to check the arguments to S_copy_little_tm_to_big_TM.
time64.h Make time64 use NV for time_t, I32 for year, not Quad_t.
time64_config.h Make time64 use NV for time_t, I32 for year, not Quad_t.
toke.c Fix a bug with ->@ inside "@{...}"
uconfig.h Regenerate Configure and chainsaw voidflags
uconfig.sh Regenerate Configure and chainsaw voidflags
uconfig64.sh Regenerate Configure and chainsaw voidflags
unicode_constants.h Remove no longer necessary constants
universal.c Sync core with CPAN version.pm release
unixish.h update the editor hints for spaces, not tabs
utf8.c utf8.c: Silence Win32 compiler warnings
utf8.h utf8.h: White-space only
utfebcdic.h utf8.h, utfebcdic.h: Add #define
util.c Removed the ifdefs for INCOMPLETE_TAINTS
util.h Add a USING_MSVC6 macro to identify Microsoft Visual C++ 6.0
utils.lst Remove cpan/Pod-LaTeX and pod2latex utility
warnings.h Make postderef experimental
write_buildcustomize.pl Add dist/constant/lib to the paths in the generated lib/buildcustomiz…

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 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.