Perl 5 fork for WebPerl
Switch branches/tags
Conf-qah2016 abigail/for-5.17 aix-doubledouble alh/binmode_pod_updates alh/rt-126579-newline-filename-warnings alh/valgrind-fix ams/no-more-study ap/baseincguard-old/1 ap/baseincguard-old/2 ap/baseincguard-old/3 ap/baseincguard ap/perlfunc-do atoomic/installdocs-man autarch/modernize-perlopentut avar/no-UNIVERSAL-import-routine-TODO avar/perldisthist avar/warnings-outside-of-all-2 bingos/mashup-cpan-sync-tools blead book/perlsecret briandfoy/english briandfoy/perldoc_pod2 briandfoy/perlduallife.pod briandfoy/perlexperiment briandfoy/perlfaq briandfoy/perlvar briandfoy/poddupes briandfoy/slashN briandfoy/takeover-podperldoc chip/aviv chip/bind2 chip/dots chip/magicflags6 chip/magicflags7 chip/mincopy chip/view2 chip/5.14.1-docs compile corion-5.15.8-zlib cpanel/all-patches cpanel/patches craigb/perlbug_report_encoding dagolden/revive-strictperl dave/sync-time-local davem/cow3 davem/old_signatures davem/regex8 davem/shpv_poc devel-ppport-reorder dom/doc-fixes dom/dot-in-inc-doc doy/better_redefinition_warning doy/deprecate_uid_gid_swap doy/false_conditional doy/overload_fallback_fix_113834 doy/runtime_isa_manipulation_bug doy/signal_interrupts_readline_rt113906 doy/subroutine-signatures drolsky/stub-deleted-pods drolsky/test-perlrun dual/Search-Dict emperl_v5.28.0 goto-doc-fix hugmeir/android-extras hugmeir/cross-compile-win32 hugmeir/lex_no_swallow_comments hugmeir/op_gelemfast hugmeir/os2_support hugmeir/pedantic-cleanups hugmeir/remove_aux_isc hv/braceless-property hv/brackets hv/runloop hv/study_chunk ilmari/acknowledegments-auto-decade ilmari/devel-ppport ilmari/eor ilmari/maint-votes-no-doctype ilmari/siginfo-fd ilmari/size_t improved_charclass_generator jdb/win32-mingw-reloc jesse/remove-changelogs jkeenan/minitest jkeenan/rtc-125932-d3bb03e0 jkeenan/2nd-132866-file-copy jkeenan/120174-starting-from-5.16.3 jkeenan/120174-starting-from-5.27.3 jkeenan/131531-benchmark jkeenan/131760-wide-character jkeenan/132087-has-linkat jkeenan/132100-error-msg jkeenan/132802-mktables khw/ebcdic khw/utf8-inlined khw/utf8-notinlined leonbrocard/dot leont/perlio-readline leont/wip/crlf maint-1.0 maint-5.004 maint-5.005 maint-5.6 maint-5.8 maint-5.10 maint-5.12 maint-5.14 maint-5.16 maint-5.18 maint-5.20-votes maint-5.20 maint-5.22 maint-5.24 maint-5.26 maint-5.28 maint-votes maint mauve merijn/useperlio newmetaconfig11 nicholas/RT37033-followup nicholas/Storable nicholas/arenas nicholas/misc-tidyup nicholas/re-instate no-dot-in-inc no_hv_fill p5h/core_scalar pending_upstream/yves/concat_nada perldelta podder podder2 post-5.28 rafl/ld_export release-5.15.8 release-5.19.7 release-5.21.2 release-5.21.3 release-5.21.5 release-5.21.6 release-5.23.7 release-5.23.8 release-5.27.1 revert/exporter rjbs/github-notices rjbs/module-load-module rjbs/move-time-hires rjbs/release-5.24 rjbs/remove-lexical-topic sawyer/storable sawyerx/ap/baseincguard sawyerx/new-rmg-maker sawyerx/remove-locale-codes smartmatchtoo smoke-me/AIX-useshrplib-Makefile-deps smoke-me/Copy-overlap-wrapper-proto smoke-me/Makefile-miniperl-unification smoke-me/POSIX-sleep smoke-me/Shut-It! smoke-me/abolish-PL_main_start smoke-me/arc/data-dumper-perl58 smoke-me/arc/signature-introspection smoke-me/arenas smoke-me/avar/universal-no-import smoke-me/builtin_rng smoke-me/bulk88/rt125296-wip-COPFILE-threads_pound_line smoke-me/bulk88/rt125296-wip-COPFILE-threads smoke-me/bulk88/sv_immortal smoke-me/bulk88/w32_new_thded_mem_alloc smoke-me/bulk88/w32_vmem_cleanup smoke-me/bulk88/win32-io-layer smoke-me/byteorder1 smoke-me/dagolden/revive-strictperl smoke-me/davem/time_hires_nsec smoke-me/davem/win32_exit_revert smoke-me/davem/win32_exit smoke-me/destruct smoke-me/devel-ppport-3.34 smoke-me/dynaloader_silence_xs_warning3 smoke-me/exec-magic smoke-me/fast_glob smoke-me/file-path smoke-me/fix_perl121486 smoke-me/fix_129903_129897 smoke-me/fold_constants smoke-me/ftrapv smoke-me/hugmeir/fix-121200-pad.c-memory-leak smoke-me/ilmari/SSize_t smoke-me/ilmari/aix-accessx-const-char smoke-me/ilmari/arybasectomy smoke-me/ilmari/bsectomy smoke-me/ilmari/non-lvalue-svcur-svlen smoke-me/ilmari/signature-refaliasing smoke-me/inet_aton smoke-me/jhi/cpan-fixes smoke-me/jhi/cppflags-dedup smoke-me/jhi/hexfp smoke-me/jhi/hires smoke-me/jhi/ibm-cray-fp smoke-me/jhi/netbsd-vax smoke-me/jhi/slowpoke smoke-me/jhi/subnormals smoke-me/jhi/symbol-cleanup smoke-me/jhi/time-hires smoke-me/jhi/vax-netbsd smoke-me/jhi/vax smoke-me/jkeenan/aleynikov/2nd-129789-darwin-time-hires smoke-me/jkeenan/aleynikov/129789-darwin-time-hires smoke-me/jkeenan/archive-tar-2.30 smoke-me/jkeenan/author-requested-removal smoke-me/jkeenan/bulk88/126686-make-ext-3 smoke-me/jkeenan/bulk88/132878-svrecode smoke-me/jkeenan/cowens/131651-P-N-switches smoke-me/jkeenan/davem/133377-time-hires smoke-me/jkeenan/file_path__rmtree smoke-me/jkeenan/haukex/132475-binmode smoke-me/jkeenan/hv/runloop smoke-me/jkeenan/jpl/131984-sort smoke-me/jkeenan/makemaker-7.32-problems smoke-me/jkeenan/pathtools-20180211 smoke-me/jkeenan/pod-html-in-dist smoke-me/jkeenan/pre_file_path_211 smoke-me/jkeenan/rt133172-perlretut smoke-me/jkeenan/sbeck/locale-codes smoke-me/jkeenan/sisyphus/41202-2nd-text-float smoke-me/jkeenan/sisyphus/41202-text-float smoke-me/jkeenan/sync-version-20180412 smoke-me/jkeenan/xenu/133141-dragonfly smoke-me/jkeenan/120797-perlio smoke-me/jkeenan/126084-dofile smoke-me/jkeenan/126599-preload smoke-me/jkeenan/131485-cl smoke-me/jkeenan/131867-capture-all smoke-me/jkeenan/132134-cve-2017-12883 smoke-me/jkeenan/132788-carp smoke-me/jkeenan/132790-storable-blessed-t smoke-me/jkeenan/133184-crypt-data smoke-me/jkeenan/133382-Test-Simple-trial smoke-me/khw-core smoke-me/khw-dfa smoke-me/khw-encode smoke-me/khw-locale smoke-me/khw-runner smoke-me/khw-sisyphus smoke-me/khw-yaroslav smoke-me/kick-FAKE_BIT_BUCKET smoke-me/ld_export smoke-me/leont/io-cleanup smoke-me/leont/less-fragile-encoding smoke-me/leont/perlio-win32 smoke-me/leont/safe-utf8 smoke-me/leont/sane_eof3 smoke-me/leont/utf8-readline smoke-me/magicflags1 smoke-me/maint-5.20-123029 smoke-me/makedef0 smoke-me/mauke/argcheck smoke-me/mauke/keyword-plugin-mutex smoke-me/mauke/overflow smoke-me/nan_inf_str smoke-me/new_hash smoke-me/new_hashes smoke-me/nicholas/RT119089-variant smoke-me/nicholas/mvs-mro-daftness smoke-me/nicholas/perldoc_not_Pod-perldoc smoke-me/nicholas/redundant-SPAGAIN smoke-me/nicholas/smoke-me/PathTools-de-de-blib smoke-me/no-variable-args smoke-me/pp_pow smoke-me/rafl/assert-bincompat smoke-me/rafl/ld_export smoke-me/regex_comment_quantifier_fix smoke-me/require smoke-me/rt52610 smoke-me/rt_114884 smoke-me/rt_123562_520 smoke-me/rt_123562_5182 smoke-me/rt_123562_5184 smoke-me/runperl smoke-me/salva/Storable smoke-me/superfasthash4 smoke-me/syber/methop smoke-me/tonyc/127743-cperl-storable-fixes smoke-me/trie_absorb smoke-me/trie3 smoke-me/yves-scalar_sort smueller/hash_vtable_make_hash smueller/hash_vtable smueller/killtaint2 smueller/more_perf_benchmarks smueller/no_taint3 smueller/padsv_nolv smueller/perllocal_eucmd smueller/perllocal smueller/sigs-by-default smueller/sort smueller/static_xsub smueller/strictpxs_fixups snprintf_l sprout/POPBLOCK_normal sprout/bufpointers sprout/cntrl sprout/cownstant sprout/cv-in-stash sprout/dbline sprout/defelem sprout/destroio sprout/fataldestroy sprout/force_next sprout/gimme sprout/maint-5.20-123029 sprout/mstack sprout/nonelem sprout/op_const_sv sprout/overrides sprout/overridesβ sprout/overridesγ sprout/overridesδ sprout/overridesε sprout/padlist-sharing sprout/parser sprout/preamble sprout/realloc sprout/remove-lexical-_ sprout/rstack sprout/sigwack sprout/slice sprout/smartpatch sprout/super-uni-delim sprout/whackproto sprout/107370 sprout/121259 sprout/123417 sprout/131645 steffen/signatures steffen/signatures2 strtod_l toddr/hek_flags tonyc/attribute-used tonyc/closepid-delay2 tonyc/cperl-storable tonyc/cygwin-rebase tonyc/do-warn-curdir tonyc/dtrace-no-main-probes tonyc/dtrace tonyc/dynaloader tonyc/madjson tonyc/maint-5.22-129038-locale-match tonyc/optimize-regcharclass tonyc/perl_unicode-sysread-syswrite-warnings tonyc/perlbug-sendmail-failure tonyc/perlio-read tonyc/post-5.22 tonyc/regcomp-read-overflow tonyc/regex-sets-debug tonyc/smartmatch-distinct tonyc/smartmatch-rebased tonyc/smartmatch tonyc/thread-deliver tonyc/time-hires-fix tonyc/utf8-readline tonyc/vc2003-crash tonyc/vc2003-macro-issues tonyc/vc2015-file tonyc/win32-stat tonyc/122287-new-dtrace tonyc/126228-dxsub_sysx tonyc/126753-dollar-caret-X tonyc/127426-snprintf-overflow tonyc/127606-osx-useshrplib-DYLD_LIBRARY_PATH tonyc/127743-cperl-storable-fixes tonyc/127743-storeable-2g tonyc/127760-file-path tonyc/128316-errno-sanity tonyc/128685-perlmain-dep-b tonyc/129149-fix-skip tonyc/132506-renameat-unimplemented-netbsd tonyc/132704-freebsd-optimize tonyc/132867-openpid-delay tonyc/132992-storable-deps tonyc/133009-xp-stacksize tonyc/133030-hires-utime tonyc/133422-small-off_t topic/indented-here-docs tux/5.8-dor vadim/cross vincent/be_gone_hv_common_gmagical vincent/faster-PathTools vincent/normalize_unix_catfile wcrtomb yves/backport_128313 yves/bic_test yves/check_cow_threshold yves/cmp_version yves/cow_meta yves/cow_meta2 yves/cow_meta3 yves/cow_threshold_in_sv_c yves/doc_hints yves/exactish_with_min_len yves/fix_backrefs_in_recursion yves/fix_128085 yves/for_karl_backrefs yves/hash_rotate yves/hv_load yves/list_util_bugfix yves/musings yves/perl_86378 yves/scalar_sort yves/strtab_cleanups yves/unrestricted_readonly_hashes yves/yves5142 yves/yves5182 zefram/deprecate_some_fake_import_fatal zefram/deprecate_some_fake_import zefram/fake_first_line zefram/gvsv_empty zefram/purple_signatures zefram/simple_signatures
Nothing to show
Clone or download
Pull request Compare This branch is 28 commits ahead, 740 commits behind Perl:blead.
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.
Cross
NetWare
Porting
amigaos4
cpan
cygwin
dist
djgpp
ext
h2pl
haiku
hints
lib
os2
plan9
pod
qnx
regen
symbian
t
utils
vms
vos
win32
.dir-locals.el
.gitignore
.metaconf-exclusions.txt
.travis.yml
AUTHORS
Artistic
Changes
Configure
Copying
EXTERN.h
INSTALL
INTERN.h
MANIFEST
META.json
META.yml
Makefile.SH
Makefile.micro
PACKAGING
Policy_sh.SH
README
README.aix
README.amiga
README.android
README.bs2000
README.ce
README.cn
README.cygwin
README.dos
README.freebsd
README.haiku
README.hpux
README.hurd
README.irix
README.jp
README.ko
README.linux
README.macos
README.macosx
README.micro
README.netware
README.openbsd
README.os2
README.os390
README.os400
README.plan9
README.qnx
README.riscos
README.solaris
README.symbian
README.synology
README.tru64
README.tw
README.vms
README.vos
README.win32
TestInit.pm
XSUB.h
asan_ignore
autodoc.pl
av.c
av.h
caretx.c
cflags.SH
charclass_invlists.h
common_preamble.js
config_h.SH
configpm
configure.com
configure.gnu
cop.h
cv.h
deb.c
doio.c
doop.c
dosish.h
dquote.c
dquote_inline.h
dump.c
ebcdic_tables.h
embed.fnc
embed.h
embedvar.h
fakesdio.h
feature.h
form.h
generate_uudmap.c
globals.c
globvar.sym
gv.c
gv.h
handy.h
hv.c
hv.h
hv_func.h
hv_macro.h
inline.h
install_lib.pl
installhtml
installman
installperl
intrpvar.h
invlist_inline.h
iperlsys.h
keywords.c
keywords.h
l1_char_class_tab.h
locale.c
make_ext.pl
make_patchnum.pl
makedef.pl
makedepend.SH
malloc.c
malloc_ctl.h
mathoms.c
metaconfig.SH
metaconfig.h
mg.c
mg.h
mg_names.inc
mg_raw.h
mg_vtable.h
miniperlmain.c
mkppport
mkppport.lst
mro_core.c
myconfig.SH
mydtrace.h
nodeperl_dev
nodeperl_dev_prerun.js
nostdio.h
numeric.c
op.c
op.h
op_reg_common.h
opcode.h
opnames.h
overload.h
overload.inc
packsizetables.inc
pad.c
pad.h
parser.h
patchlevel.h
perl.c
perl.h
perl_inc_macro.h
perl_langinfo.h
perlapi.c
perlapi.h
perldtrace.d
perlio.c
perlio.h
perlio.sym
perliol.h
perlmain_noexit_patch
perlsdio.h
perlvars.h
perly.act
perly.c
perly.h
perly.tab
perly.y
pp.c
pp.h
pp_ctl.c
pp_hot.c
pp_pack.c
pp_proto.h
pp_sort.c
pp_sys.c
proto.h
reentr.c
reentr.h
regcharclass.h
regcomp.c
regcomp.h
regcomp.sym
regen.pl
regen_perly.pl
regexec.c
regexp.h
regnodes.h
run.c
runtests.SH
sbox32_hash.h
scope.c
scope.h
stadtx_hash.h
sv.c
sv.h
taint.c
thread.h
time64.c
time64.h
time64_config.h
toke.c
uconfig.h
uconfig.sh
uconfig64.sh
uni_keywords.h
unicode_constants.h
universal.c
unixish.h
utf8.c
utf8.h
utfebcdic.h
util.c
util.h
utils.lst
vutil.c
vutil.h
vxs.inc
warnings.h
write_buildcustomize.pl
zaphod32_hash.h

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