Skip to content
A perl5 with classes, types, compilable, company friendly, security
Perl C Shell XS Perl 6 C++ Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.git-rr-cache @ 23d57d9
Cross
NetWare
Porting CPAN: parse all distroprefs/*.yml Jul 5, 2019
amigaos4
cpan
cygwin
dist
djgpp
ext
h2pl
haiku
hints
lib
os2 Use sv_catpvs where appropriate vs sv_catpv Apr 2, 2019
plan9 add RUNNING_ON_VALGRIND => destruct_level = 2 Jun 20, 2019
pod
qnx
regen
symbian
t
utils perlbug: Ask confirmation if would overwrite existing file Aug 24, 2018
vms
vos
win32 inline: add op_clone and cv_do_inline Jul 1, 2019
.cirrus.yml
.dir-locals.el
.gitignore
.gitlab-ci.yml
.gitmodules
.lgtm.yml Enable LGTM.com integration Nov 23, 2018
.metaconf-exclusions.txt
.travis.yml
.whitesource
AUTHORS Add Ryan Voots to AUTHORS file Jun 11, 2019
Artistic
CODE_OF_CONDUCT.md
Changes
Configure
Copying
EXTERN.h remove all exported symbols from GCC win32 miniperl Mar 20, 2019
INSTALL
INTERN.h
MANIFEST
META.json
META.yml
Makefile.SH
Makefile.micro link optim: reorder objects Oct 24, 2018
PACKAGING
Policy_sh.SH add shebangs where missing Sep 22, 2012
README
README.aix
README.amiga
README.android
README.bs2000
README.ce
README.cn Converted Asian documentations to utf-8 Apr 14, 2013
README.cygwin
README.dos
README.freebsd
README.haiku Porting/bump-perl-version -i 5.29.2 5.30.0 Jun 11, 2019
README.hpux
README.hurd pods: Add L<> for links missing them; a couple nits Apr 18, 2017
README.irix Fix various pod errors. Jun 3, 2016
README.jp
README.ko README.ko: remove blank line Jul 5, 2013
README.linux
README.macos
README.macosx Porting/bump-perl-version -i 5.29.2 5.30.0 Jun 11, 2019
README.micro
README.netware
README.openbsd README.foo: Change NAME to perlfoo Jul 3, 2011
README.os2
README.os390 pods: Add L<> for links missing them; a couple nits Apr 18, 2017
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.riscos
README.solaris fix typos Apr 13, 2019
README.symbian
README.synology Entware released perl-5.24.1 Nov 4, 2017
README.tru64
README.tw
README.vms
README.vos
README.win32
SHORT_DESC
STATUS.md
TestInit.pm
XSUB.h Define also Perl's calloc() macro Apr 13, 2019
appveyor.yml
asan_ignore
autodoc.pl
av.c
av.h
azure-pipelines.yml
caretx.c
cflags.SH Less No autovivification of hash slice anymore warnings Oct 7, 2018
charclass_invlists.h mktables: Generalize handling of [perl #133979] Jun 11, 2019
config_h.SH add RUNNING_ON_VALGRIND => destruct_level = 2 Jun 20, 2019
configpm ffi: avoid bumping config.sh/config.h mtimes Apr 5, 2019
configure.com
configure.gnu
cop.h
cv.h inline: add op_clone and cv_do_inline Jul 1, 2019
deb.c Move deb_stack_n to DEBUGGING only Oct 12, 2018
doio.c
doop.c
dosish.h
dquote.c
dquote_inline.h
dump.c inline: add op_clone and cv_do_inline Jul 1, 2019
ebcdic_tables.h
embed.fnc
embed.h
embedvar.h Add hook for Unicode private use override Jun 11, 2019
fakesdio.h
feature.h
form.h
generate_uudmap.c
globals.c regcomp.c: don't include INTERN.h Jun 11, 2019
globvar.sym Revert "regen/warnings.pl: Fix undefined C behavior" Jun 11, 2019
gv.c
gv.h
handy.h handy.h: Make inRANGE more robust Jun 11, 2019
hv.c
hv.h inline: add op_clone and cv_do_inline Jul 1, 2019
hv_func.h
inline.h
install_lib.pl amigaos4: install scripts Jun 3, 2016
installhtml
installman Do not (attempt to) install man pages when explicitly disabled Nov 30, 2017
installperl (perl #127606) adjust dependency paths on installation on darwin Apr 13, 2019
intrpvar.h intrpvar.h: Add emphasis to comment Jun 11, 2019
invlist_inline.h
iperlsys.h
keywords.c ffi: parse extern sub NAME SIG ATTRIB?; Oct 2, 2018
keywords.h ffi: parse extern sub NAME SIG ATTRIB?; Oct 2, 2018
l1_char_class_tab.h
locale.c
make_ext.pl
make_patchnum.pl
makedef.pl
makedepend.SH makedepend: improve flymake support Nov 21, 2017
malloc.c
malloc_ctl.h
mathoms.c Eliminated 3 '-Wparentheses' warnings detected by g++-8. Apr 13, 2019
metaconfig.SH
metaconfig.h Improve setlocale() detection in Configure-ish files Jun 11, 2019
mg.c fix locale leak on zero-length strings Jun 11, 2019
mg.h
mg_names.inc
mg_raw.h
mg_vtable.h
miniperlmain.c
mkppport mkppport/Devel-PPPort 3.36_04: rearchitecture make -s Dec 5, 2017
mkppport.lst
mro_core.c
myconfig.SH myconfig: add git_describe, git_branch info Nov 27, 2017
mydtrace.h
nostdio.h -Dmv: add verbose SV arena debugging Nov 14, 2016
numeric.c
op.c
op.h Improve handling pattern compilation errors Jun 11, 2019
op_reg_common.h
opcode.h oelemfast: rewrite Jul 1, 2019
opnames.h
overload.h
overload.inc
packsizetables.inc
pad.c
pad.h
parser.h
patchlevel.h
perl.c
perl.h
perl_inc_macro.h Fix Windows build failure introduced by 7d00a34 Nov 30, 2017
perl_langinfo.h
perlapi.c
perlapi.h
perldtrace.d dtrace: add glob and hash probes Apr 29, 2017
perlio.c (perl #133604) fix binmode on Win32 :crlf layers Apr 13, 2019
perlio.h
perlio.sym
perliol.h
perlsdio.h
perlvars.h Add hook for Unicode private use override Jun 11, 2019
perly.act
perly.c
perly.h
perly.tab
perly.y parser: change LABEL type from pval to opval Jun 11, 2019
pp.c
pp.h
pp_ctl.c
pp_hot.c
pp_pack.c
pp_proto.h inline: add op_clone and cv_do_inline Jul 1, 2019
pp_sort.c Revert "Strengthen weak refs when sorting in-place" Aug 26, 2018
pp_sys.c
pp_type.c UNDEF,SV_YES,SV_NO,PLACEHOLDER macros #252 Feb 14, 2017
proto.h
reentr.c
reentr.h Add PERL_REENTRANT for XS modules Jun 14, 2018
regcharclass.h
regcomp.c
regcomp.h
regcomp.sym Add common UTF-8 first byte to ANYOFH regnodes Jun 11, 2019
regen.pl
regen_perly.pl
regexec.c
regexp.h
regnodes.h
run.c
runtests.SH
scope.c more local scope save/restore -Dlv debugging Jun 27, 2019
scope.h
sv.c
sv.h perlapi: Fix up SV handling pod Apr 2, 2019
taint.c
thread.h
time64.c
time64.h
time64_config.h Use new paradigm for hdr file double inclusion guard Nov 4, 2017
toke.c
uconfig.h
uconfig.sh
uconfig64.sh
un8ifcan.h fix Unicode-Normalize mkheader for safeclib Jun 11, 2019
un8ifcmb.h
un8ifcmp.h
un8ifexc.h
uni_keywords.h mktables: Generalize handling of [perl #133979] Jun 11, 2019
unicode_constants.h Check for \n in EBCDIC code pages Jun 11, 2019
universal.c
unixish.h
utf8.c fix leak in Perl__force_out_malformed_utf8_message() Jun 11, 2019
utf8.h
utfebcdic.h utf8n_to_uvchr() Properly test for extended UTF-8 Nov 9, 2017
util.c
util.h use Perl_my_mkstemp() where appropriate Jun 14, 2018
utils.lst
vutil.c
vutil.h
vxs.inc
warnings.h
write_buildcustomize.pl
xsutils.c

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, 2016, 2017, 2018, 2019 by Larry Wall and others.
cperl is Copyright (C) 2012, 2014, 2015, 2016, 2017 by cPanel Inc and
Copyright (C) 2017, 2018, 2019 by Reini Urban.
All rights reserved.


ABOUT CPERL
==========

cperl is a better variant of Perl 5 with many Perl 6 based features
and improvements, but without breaking compatibility. CPAN works. It
is a "perl 11", 5 + 6 = 11.

The name cperl stands for a perl with classes, types, compiler
support, continuation of perl5 or just a company-friendly perl.

Currently it is about 15%x faster than perl5 overall, more than 2x
faster then 5.14 and uses the least amount of memory measured since
5.6, i.e. less than 5.10 and 5.6.2, which were the previous
leaders. While perl5.22 uses the most memory yet measured.
It has many more grave security fixes then perl5, and has an open
development style with public feature discussions and a
professional development process.


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.


You can’t perform that action at this time.