perl mirror
Perl C Shell Prolog C++ Objective-C
Switch branches/tags
Pull request Compare This branch is 16897 commits ahead of schacon:blead.
Latest commit adb86be Sep 18, 2012 @steve-m-hay steve-m-hay Squash two win32.c warnings which have crept in recently
Ensure a non-void function always returns something, and a signed/unsigned
mismatch.
Permalink
Failed to load latest commit information.
Cross Remove the VM/ESA port. Aug 31, 2012
NetWare Add Configure probe for ip_mreq_source Aug 26, 2012
Porting make perlhist_calculate.pl emit ready-to-use text Sep 18, 2012
beos Fix typos (spelling errors) in beos/*. Jan 7, 2011
cpan Update Sys-Syslog to CPAN version 0.32 Sep 15, 2012
cygwin Fix Cygwin build warnings Aug 30, 2012
dist Stop lexical warnings from turning off deprecations Sep 15, 2012
djgpp Kill Devel::DProf Jun 14, 2011
epoc Add Configure probe for ip_mreq_source Aug 26, 2012
ext Fix Peek.t Sep 16, 2012
h2pl [RT #36079] Convert ` to '. Nov 23, 2011
haiku Haiku Port Oct 29, 2008
hints Collapse duplicate settings in hints/solaris_2.sh Sep 4, 2012
lib Bring bleadperl up to parity with CPAN for version.pm Sep 16, 2012
mad Remove references to Mac OS classic from comments the opcode descript… Jan 19, 2011
mpeix Omnibus removal of register declarations Aug 18, 2012
os2 Undo VERSION bump for undone code Aug 20, 2012
plan9 Remove the VM/ESA port. Aug 31, 2012
pod Add missing articles. Sep 18, 2012
qnx Fix typos (spelling errors) in qnx/*. Jan 7, 2011
regen Document lexical subs Sep 16, 2012
symbian Add Configure probe for ip_mreq_source Aug 26, 2012
t ${^LAST_FH} Sep 18, 2012
utils Correct obvious typos in acknowledgements list Sep 10, 2012
vms Add another include directory for the x2p files on VMS. Sep 15, 2012
vos Build perl using the dynamic linking capabilities of OpenVOS Release … Nov 4, 2011
win32 Squash two win32.c warnings which have crept in recently Sep 18, 2012
x2p Remove some EBCDIC dependencies Sep 14, 2012
.gitignore ignore all MYMETA files, not just .yml Feb 22, 2012
AUTHORS Add Karen Etheridge to AUTHORS. Sep 1, 2012
Artistic Expand tabs in Artistic license to spaces Dec 30, 2011
Changes Change the example in the Changes file to be more generic. Jul 1, 2011
Configure Fix [perl #114812] Configure not finding isblank(). Sep 10, 2012
Copying Update F<Copying> with the FSF's new address. Dec 19, 2011
EXTERN.h Revert bogus change 28763. Aug 28, 2006
INSTALL Bump version to 5.17.4 Aug 20, 2012
INTERN.h Revert bogus change 28763. Aug 28, 2006
MANIFEST Make &foo respect our sub Sep 16, 2012
META.yml Stop CPAN from indexing mad/ Sep 10, 2012
Makefile.SH Remove the VM/ESA port. Aug 31, 2012
Makefile.micro For microperl, prefix generateuudmap and the 3 generated headers with u. Aug 24, 2011
Policy_sh.SH Make everything exec-bit.txt lists executable Aug 19, 2010
README Bump the visible perl -V copyright to 2012 Jan 19, 2012
README.aix Add AIX7 APAR requirement to get Time::Piece tests to pass. Jul 11, 2012
README.amiga Pod cleanup for F<> and L<> Feb 1, 2011
README.beos perlbeos: change some C<>'s into F<>'s Jul 16, 2011
README.bs2000 Remove the VM/ESA port. Aug 31, 2012
README.ce README.ce: Change some C<> into F<> Jun 21, 2011
README.cn Fix some broken URLs found by Porting/checkURL.pl Jun 12, 2011
README.cygwin Missed other typo in README.cygwin Aug 14, 2012
README.dgux Fix typos (spelling errors) in README*. Jan 7, 2011
README.dos README.$OS URLs Apr 1, 2007
README.epoc README.foo: Change NAME to perlfoo Jul 3, 2011
README.freebsd Update README.freebsd with the new approach for making $^X absolute. Sep 28, 2011
README.haiku Bump version to 5.17.4 Aug 20, 2012
README.hpux GNU gcc-4.6.1 revealed a broken system header on HP-UX 11.00 Aug 8, 2011
README.hurd README.foo: Change NAME to perlfoo Jul 3, 2011
README.irix README.foo: Change NAME to perlfoo Jul 3, 2011
README.jp [perl #82526] Fix kldp links. Jan 22, 2011
README.ko Fix some broken URLs found by Porting/checkURL.pl Jun 12, 2011
README.linux README.foo: Change NAME to perlfoo Jul 3, 2011
README.macos README.foo: Change NAME to perlfoo Jul 3, 2011
README.macosx README.foo: Change NAME to perlfoo Jul 3, 2011
README.micro Make the request to fix rather than report bugs in microperl politer. Mar 28, 2011
README.mpeix README.foo: Change NAME to perlfoo Jul 3, 2011
README.netware multifile patch against blead/pod/*.pod Feb 16, 2011
README.openbsd README.foo: Change NAME to perlfoo Jul 3, 2011
README.os2 Bump version to 5.17.4 Aug 20, 2012
README.os390 Remove the VM/ESA port. Aug 31, 2012
README.os400 README.foo: Change NAME to perlfoo Jul 3, 2011
README.plan9 [PATCH] Doc spellcheck + podcheck Nov 16, 2001
README.qnx README.foo: Change NAME to perlfoo Jul 3, 2011
README.riscos README.foo: Change NAME to perlfoo Jul 3, 2011
README.solaris README.foo: Change NAME to perlfoo Jul 3, 2011
README.symbian README.foo: Change NAME to perlfoo Jul 3, 2011
README.tru64 [RT #36079] Convert ` to '. Nov 23, 2011
README.tw Update irc and tw mongers links. Jun 10, 2011
README.vms Bump version to 5.17.4 Aug 20, 2012
README.vos README.foo: Change NAME to perlfoo Jul 3, 2011
README.win32 bump version to 5.17.0 May 20, 2012
TestInit.pm Two small tidying refactors for TestInit.pm Jun 22, 2011
XSUB.h Omnibus removal of register declarations Aug 18, 2012
autodoc.pl autodoc.pl: pod format fix Mar 20, 2012
av.c Stop padlists from being AVs Aug 21, 2012
av.h update the editor hints for spaces, not tabs May 30, 2012
cflags.SH In cflags.SH trim the case statement of file basenames. Jun 19, 2012
charclass_invlists.h Add caching to inversion list searches Aug 26, 2012
config_h.SH Fix alignment for darwin with -Dusemorebits. Sep 7, 2012
configpm Revert "smoke-me diag" Aug 28, 2012
configure.com Add Configure probe for ip_mreq_source Aug 26, 2012
configure.gnu Remove "dead" RCS $Id$ tags from files that we own. Dec 16, 2010
cop.h cop.h: Remove obsolete comment Sep 15, 2012
cv.h CvNAME_HEK_set Sep 16, 2012
deb.c Omnibus removal of register declarations Aug 18, 2012
doio.c Omnibus removal of register declarations Aug 18, 2012
doop.c Omnibus removal of register declarations Aug 18, 2012
dosish.h update the editor hints for spaces, not tabs May 30, 2012
dquote_static.c clean up compilation warnings Jun 27, 2012
dump.c dump.c: Dump CvNAME_HEK Sep 16, 2012
embed.fnc [perl #114924] Make method calls work with ::SUPER packages Sep 17, 2012
embed.h [perl #114924] Make method calls work with ::SUPER packages Sep 17, 2012
embedvar.h Use macro not swash for utf8 quotemeta Sep 14, 2012
fakesdio.h update the editor hints for spaces, not tabs May 30, 2012
fakethr.h update the editor hints for spaces, not tabs May 30, 2012
feature.h Add experimental lexical_subs feature Sep 16, 2012
form.h better document format code May 29, 2011
generate_uudmap.c Create a lookup table for magic vtables from magic type, PL_magic_data. Jun 11, 2011
genpacksizetables.pl Global executable bit cleanup Jul 24, 2010
globals.c update the editor hints for spaces, not tabs May 30, 2012
globvar.sym regcomp.c: generate folded for EXACTF and EXACTFU Oct 18, 2011
gv.c ${^LAST_FH} Sep 18, 2012
gv.h [perl #114924] Make method calls work with ::SUPER packages Sep 17, 2012
handy.h We don't support MS VC++ < 6.0 Aug 18, 2012
hv.c [perl #114924] Make method calls work with ::SUPER packages Sep 17, 2012
hv.h [perl #114924] Make method calls work with ::SUPER packages Sep 17, 2012
inline.h Unify CvDEPTH for formats and subs Sep 12, 2012
inline_invlist.c Add caching to inversion list searches Aug 26, 2012
install_lib.pl RT 74444 - install_lib.pl emits warnings when installperl is run with… Sep 1, 2010
installhtml rewrite installhtml's installdir dir scan logic May 26, 2012
installman Some tidying in installman. Dec 24, 2011
installperl installperl: CaseFolding.txt no longer needed Jun 2, 2012
intrpvar.h Use macro not swash for utf8 quotemeta Sep 14, 2012
iperlsys.h update the editor hints for spaces, not tabs May 30, 2012
keywords.c Implement the fc keyword and the \F string escape. Jan 29, 2012
keywords.h Implement the fc keyword and the \F string escape. Jan 29, 2012
l1_char_class_tab.h mktables: Generate tables for chars that aren't in final fold pos Aug 2, 2012
locale.c update the editor hints for spaces, not tabs May 30, 2012
madly.c update the editor hints for spaces, not tabs May 30, 2012
make_ext.pl [perl #113940] Make make_ext delete Makefiles when version changes Jul 29, 2012
make_patchnum.pl fix make_patchnum.pl branch determination Dec 12, 2011
makedef.pl Eliminate PL_OP_SLAB_ALLOC Jul 12, 2012
makedepend.SH Make everything exec-bit.txt lists executable Aug 19, 2010
malloc.c Out of memory message should not allocate memory. Sep 8, 2012
malloc_ctl.h Fix calling conventions in malloc_ctl.h Oct 22, 2010
mathoms.c Omnibus removal of register declarations Aug 18, 2012
metaconfig.SH 1; is not a valid no-op for /bin/sh, but true is. Jan 2, 2011
metaconfig.h Add Configure probe for ip_mreq_source Aug 26, 2012
mg.c ${^LAST_FH} Sep 18, 2012
mg.h update the editor hints for spaces, not tabs May 30, 2012
mg_names.c Add proto magic type Sep 16, 2012
mg_raw.h Add proto magic type Sep 16, 2012
mg_vtable.h Add proto magic type Sep 16, 2012
minimod.pl Fix ExtUtils::Miniperl on Win32 May 7, 2009
miniperlmain.c Remove dead code related to the Atari ST port of perl 4.0 patchlevel 19 Jul 28, 2012
mkppport Update podlators to CPAN version 2.4.0 Oct 18, 2010
mkppport.lst Update List-Util to CPAN version 1.25 Jun 12, 2012
mro.c Omnibus removal of register declarations Aug 18, 2012
myconfig.SH Make everything exec-bit.txt lists executable Aug 19, 2010
mydtrace.h "loading-file" and "loaded-file" DTrace probes Aug 28, 2012
nostdio.h update the editor hints for spaces, not tabs May 30, 2012
numeric.c add comment about the atof change [perl #109318] Jun 26, 2012
op.c Allow lexical sub redefinition inside eval Sep 16, 2012
op.h Correct typo in flag name Aug 26, 2012
op_reg_common.h regcomp.c: Simply some node calculations Jun 30, 2012
opcode.h Add clonecv op type Sep 16, 2012
opnames.h Add clonecv op type Sep 16, 2012
overload.c Change close_and_rename() to read_only_bottom_close_and_rename() Jan 23, 2011
overload.h Change close_and_rename() to read_only_bottom_close_and_rename() Jan 23, 2011
pad.c Move my sub prototype CVs to the pad names Sep 16, 2012
pad.h Revert "Set PL_comppad_name on sub entry" Sep 17, 2012
parser.h Fix our sub with proto Sep 16, 2012
patchlevel.h Bump version to 5.17.4 Aug 20, 2012
perl.c PL_sawampersand: use 3 bit flags rather than bool Sep 8, 2012
perl.h Remove some EBCDIC dependencies Sep 14, 2012
perlapi.c Simplify embedvar.h, removing a level of macro indirection for PL_* v… Aug 11, 2011
perlapi.h add wrap_op_checker() API function Feb 11, 2012
perldtrace.d "loading-file" and "loaded-file" DTrace probes Aug 28, 2012
perlio.c Remove dead code related to the Atari ST port of perl 4.0 patchlevel 19 Jul 28, 2012
perlio.h update the editor hints for spaces, not tabs May 30, 2012
perlio.sym Adjustment to symbol lists after latest changes (by Jarkko) Oct 20, 2006
perliol.h update the editor hints for spaces, not tabs May 30, 2012
perlsdio.h update the editor hints for spaces, not tabs May 30, 2012
perlsfio.h update the editor hints for spaces, not tabs May 30, 2012
perlsh [inseperable changes from patch from perl-5.003_95 to perl-5.003_86] Mar 25, 1997
perlvars.h add wrap_op_checker() API function Feb 11, 2012
perly.act perly.y: Remove MYSUB Sep 16, 2012
perly.c Prevent assertion failure with ‘no a a 3’ Sep 15, 2012
perly.h perly.y: Remove MYSUB Sep 16, 2012
perly.tab perly.y: Remove MYSUB Sep 16, 2012
perly.y perly.y: Remove MYSUB Sep 16, 2012
pp.c pp.c:pp_clonecv: Use find_runcv to find the padname Sep 17, 2012
pp.h Fix format closure bug with redefined outer sub Aug 21, 2012
pp_ctl.c pp_ctl.c:caller: Remove obsolete comment Sep 15, 2012
pp_hot.c ‘Undefined subroutine &foo called’ for lex subs Sep 16, 2012
pp_pack.c Stop calling get-magic twice in pack "u", $utf8 Aug 31, 2012
pp_proto.h Add clonecv op type Sep 16, 2012
pp_sort.c Use PADLIST in more places Aug 21, 2012
pp_sys.c Remove the VM/ESA port. Aug 31, 2012
proto.h [perl #114924] Make method calls work with ::SUPER packages Sep 17, 2012
reentr.c Move all the generated file header printing into read_only_top() Jan 23, 2011
reentr.h Move all the generated file header printing into read_only_top() Jan 23, 2011
regcharclass.h utf8.h: Remove some EBCDIC dependencies Sep 14, 2012
regcomp.c PATCH: [perl #82954] Make "Can't do {n,m} with n > m into warning Sep 15, 2012
regcomp.h regcomp.h: Use handy.h constants Jul 25, 2012
regcomp.sym regcomp.sym: Add new node types POSIXA and NPOSIXA Jul 25, 2012
regen.pl Create regen/feature.pl Dec 24, 2011
regen_perly.pl Prevent double frees/crashes with format syntax errs Aug 8, 2012
regexec.c regexec.c: Avoid unnecessary calculation Sep 17, 2012
regexp.h eliminate PL_reginput Sep 14, 2012
regnodes.h regcomp.sym: Add new node types POSIXA and NPOSIXA Jul 25, 2012
run.c "op-entry" DTrace probe Aug 28, 2012
runtests.SH Make everything exec-bit.txt lists executable Aug 19, 2010
scope.c Revert "Set PL_comppad_name on sub entry" Sep 17, 2012
scope.h Revert "Set PL_comppad_name on sub entry" Sep 17, 2012
sv.c Handle xhv_super in thread cloning Sep 18, 2012
sv.h Allow CVs to point to HEKs rather than GVs Sep 16, 2012
taint.c update the editor hints for spaces, not tabs May 30, 2012
thread.h Remove the VM/ESA port. Aug 31, 2012
time64.c Fix typos (spelling errors) in Perl sources. Jan 7, 2011
time64.h Make time64 use NV for time_t, I32 for year, not Quad_t. Apr 25, 2009
time64_config.h Make time64 use NV for time_t, I32 for year, not Quad_t. Apr 25, 2009
toke.c Disable lexsubs outside of feature.pm Sep 16, 2012
uconfig.h Fix alignment for darwin with -Dusemorebits. Sep 7, 2012
uconfig.sh Add Configure probe for ip_mreq_source Aug 26, 2012
uconfig64.sh Add Configure probe for ip_mreq_source Aug 26, 2012
unicode_constants.h regen/unicode_constants.pl: Add name parameter Sep 14, 2012
universal.c Remove some redundant magical flag checks Jul 29, 2012
unixish.h update the editor hints for spaces, not tabs May 30, 2012
utf8.c Use macro not swash for utf8 quotemeta Sep 14, 2012
utf8.h utf8.h: Add macro to test if UTF8 code point isn't Latin1 Sep 17, 2012
utfebcdic.h utf8.h: Add macro to test if UTF8 code point isn't Latin1 Sep 17, 2012
util.c Bring bleadperl up to parity with CPAN for version.pm Sep 16, 2012
util.h update the editor hints for spaces, not tabs May 30, 2012
utils.lst Add x2p/a2p.pod to the 'master' array returned by get_pod_metadata(). Dec 24, 2011
warnings.h Add experimental warnings categ and :lexical_subs warn ID Sep 16, 2012
write_buildcustomize.pl Add Term::ReadLine to write_buildcustomize.pl. Dec 3, 2011

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


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.