A perl5 with classes, types, compilable, company friendly, security
Switch branches/tags
Clone or download
rurban Fix bool on MSVC++ 11.0
Since MSVC 2012 with C++ bool errors.
Latest commit 09e4aca Jul 11, 2017
Permalink
Failed to load latest commit information.
.git-rr-cache @ 3f27c5f dlfcn.h is not shipped with mingw Sep 16, 2018
Cross add Config{usesafehashiter} and USE_SAFE_HASHITER Sep 13, 2018
NetWare add Config{usesafehashiter} and USE_SAFE_HASHITER Sep 13, 2018
Porting dlfcn.h is not shipped with mingw Sep 16, 2018
amigaos4 make exec keep its argument list more reliably Jun 14, 2018
cpan version-0.9923_02c: fixes Safe/t/safeload.t Sep 18, 2018
cygwin make exec keep its argument list more reliably Jun 14, 2018
dist Cwd: protect from SYSNAME redefinition Sep 18, 2018
djgpp make exec keep its argument list more reliably Jun 14, 2018
ext Opcode: avoid autovivification of hash slices Sep 18, 2018
h2pl Switch most open() calls to three-argument form. Jan 14, 2017
haiku Remove "register" declarations Nov 25, 2012
hints Porting/bump-perl-version -i 5.28.0 5.29.0 Sep 13, 2018
lib add Config{usesafehashiter} and USE_SAFE_HASHITER Sep 13, 2018
os2 set PERL_EXIT_DESTRUCT_END in all embeddings Jun 14, 2018
plan9 add Config{usesafehashiter} and USE_SAFE_HASHITER Sep 13, 2018
pod Storable: enable >2GB AvFILL check on store_hook Sep 15, 2018
qnx Fix typos (spelling errors) in qnx/*. Jan 7, 2011
regen Porting/bump-perl-version -i 5.28.0 5.29.0 Sep 13, 2018
symbian add Config{usesafehashiter} and USE_SAFE_HASHITER Sep 13, 2018
t Fix bool on MSVC++ 11.0 Sep 18, 2018
utils perlbug: Ask confirmation if would overwrite existing file Aug 24, 2018
vms post-release delta updates Sep 13, 2018
vos Build perl using the dynamic linking capabilities of OpenVOS Release … Nov 4, 2011
win32 dlfcn.h is not shipped with mingw Sep 16, 2018
.dir-locals.el Fix Emacs dir-local variables Jun 3, 2016
.gitignore Release cperl-5.28.0c Sep 10, 2018
.gitlab-ci.yml add .gitlab-ci.yml CI cfg (using shared runners) Oct 17, 2016
.gitmodules rerere submodule update Jun 20, 2016
.metaconf-exclusions.txt metaconfig: ignore "index", "rindex" Nov 27, 2017
.travis.yml use makerel without -b Sep 2, 2018
AUTHORS Removal from AUTHORS based on author's request Aug 26, 2018
Artistic fix typo in Artistic Aug 26, 2018
CODE_OF_CONDUCT.md Add CODE_OF_CONDUCT.md Nov 27, 2016
Changes Changes: move over to perlcdelta.pod Sep 16, 2015
Configure add Config{usesafehashiter} and USE_SAFE_HASHITER Sep 13, 2018
Copying Update F<Copying> with the FSF's new address. Dec 19, 2011
EXTERN.h pp_ctl.c: simplify cpp conditionals Nov 27, 2017
INSTALL Porting/bump-perl-version -i 5.28.0 5.29.0 Sep 13, 2018
INTERN.h make it compilable with c++ Feb 26, 2017
MANIFEST use hashiter pragma to allow destructive iterators Sep 13, 2018
META.json Porting/bump-perl-version -i 5.28.0 5.29.0 Sep 13, 2018
META.yml Porting/bump-perl-version -i 5.28.0 5.29.0 Sep 13, 2018
Makefile.SH post-release delta updates Sep 13, 2018
Makefile.micro Don't attempt to define or use STANDARD_C Nov 27, 2017
PACKAGING PACKAGING: add patchlevel.h doc entry Nov 27, 2017
Policy_sh.SH add shebangs where missing Sep 22, 2012
README Update Copyright years in README and perl.c. Jun 14, 2018
README.aix pods: Add L<> for links missing them; a couple nits Apr 18, 2017
README.amiga amigaos4: better kill() implementation Jun 3, 2016
README.android README.android: make the POD a bit nicer Jun 3, 2016
README.bs2000 Add note to EBCDIC README's, asking for input May 8, 2015
README.ce fix more file paths Jun 3, 2016
README.cn Converted Asian documentations to utf-8 Apr 14, 2013
README.cygwin Fix various pod errors. Jun 3, 2016
README.dos README.$OS URLs Apr 1, 2007
README.freebsd pods: Add L<> for links missing them; a couple nits Apr 18, 2017
README.haiku Porting/bump-perl-version -i 5.28.0 5.29.0 Sep 13, 2018
README.hpux Reword warning for deviations from UTF-8 locales Jun 14, 2018
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 pods: Add L<> for links missing them; a couple nits Apr 18, 2017
README.ko README.ko: remove blank line Jul 5, 2013
README.linux README.foo: Change NAME to perlfoo Jul 3, 2011
README.macos README.foo: Change NAME to perlfoo Jul 3, 2011
README.macosx Porting/bump-perl-version -i 5.28.0 5.29.0 Sep 13, 2018
README.micro Make the request to fix rather than report bugs in microperl politer. Mar 28, 2011
README.netware Fix various pod errors. Jun 3, 2016
README.openbsd README.foo: Change NAME to perlfoo Jul 3, 2011
README.os2 Porting/bump-perl-version -i 5.28.0 5.29.0 Sep 13, 2018
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.qnx: Make verbatim line fit in 79 columns Feb 2, 2014
README.riscos README.foo: Change NAME to perlfoo Jul 3, 2011
README.solaris README*: remove deprecated L<"section"> and L<section> syntax Dec 20, 2016
README.symbian Actually make I18N::Langinfo avail on all platforms Aug 17, 2018
README.synology Entware released perl-5.24.1 Nov 4, 2017
README.tru64 Fix various pod errors. Jun 3, 2016
README.tw Remove most references to USENET from docs Dec 20, 2016
README.vms Correct 3 bad email addresses for 'perlbug'. Dec 25, 2016
README.vos Update README.vos to reflect recent changes Mar 19, 2013
README.win32 Porting/bump-perl-version -i 5.28.0 5.29.0 Sep 13, 2018
SHORT_DESC SHORT_DESC: added for packaging Feb 12, 2016
STATUS.md updates and fixes from 5.24.4c release Sep 13, 2018
TestInit.pm stop passing '.' in @inc to tests Apr 18, 2017
XSUB.h XSUB.h: simplify cpp conditions using C89 "#elif" Nov 27, 2017
appveyor.yml Porting/bump-perl-version -i 5.28.0 5.29.0 Sep 13, 2018
asan_ignore asan_ignore: exclude S_expect_number() Dec 31, 2014
autodoc.pl Complete perlapio.pod doc Jun 14, 2018
av.c rmv/de-dup static const char array "strings" Aug 11, 2018
av.h Change av_foo_nomg() name Feb 28, 2017
azure-pipelines.yml Add azure-pipelines.yml to MANIFEST Sep 13, 2018
caretx.c caretx.c: simplify cpp conditionals Nov 27, 2017
cflags.SH cflags: add -Wno-null-pointer-arithmetic Nov 30, 2017
charclass_invlists.h utf8: add new Unicode 11 scripts Aug 26, 2018
config_h.SH add Config{usesafehashiter} and USE_SAFE_HASHITER Sep 13, 2018
configpm RT #132834: prevent duplicate Config.pm vars Jun 14, 2018
configure.com add Config{usesafehashiter} and USE_SAFE_HASHITER Sep 13, 2018
configure.gnu Remove "dead" RCS $Id$ tags from files that we own. Dec 16, 2010
cop.h better document macros taking literal strings Nov 30, 2017
cv.h Add CvGvNAME_HEK helper Nov 20, 2017
deb.c UNDEF,SV_YES,SV_NO,PLACEHOLDER macros #252 Feb 14, 2017
doio.c make PerlIO handle FD_CLOEXEC Jun 14, 2018
doop.c rmv/de-dup static const char array "strings" Aug 11, 2018
dosish.h add wrap_keyword_plugin function (RT #132413) Nov 30, 2017
dquote.c dquote.c: Use memchr() instead of strchr() Nov 27, 2017
dquote_inline.h Use new paradigm for hdr file double inclusion guard Nov 4, 2017
dump.c dump: fix void function cannot return value Sep 18, 2018
ebcdic_tables.h Use new paradigm for hdr file double inclusion guard Nov 4, 2017
embed.fnc Use a perfect hash for Unicode property lookups Aug 26, 2018
embed.h Use a perfect hash for Unicode property lookups Aug 26, 2018
embedvar.h Use compiled-in C structure for inverted case folds Aug 23, 2018
fakesdio.h fakesdio.h: Typo Jun 14, 2018
feature.h enable more default features Jun 14, 2018
form.h better document format code May 29, 2011
generate_uudmap.c generate_uudmap.c: Clarify comment Dec 11, 2014
globals.c INTERN.h: define EXT used for -flto=thin Nov 10, 2016
globvar.sym add PL_sv_zero Nov 13, 2017
gv.c Add shadow warning Subroutine masks new package Sep 14, 2018
gv.h usenamedanoncv: named __ANON__ => name@ Aug 31, 2018
handy.h Fix bool on MSVC++ 11.0 Sep 18, 2018
hv.c add Config{usesafehashiter} and USE_SAFE_HASHITER Sep 13, 2018
hv.h add Config{usesafehashiter} and USE_SAFE_HASHITER Sep 13, 2018
hv_func.h get rid of USE_HASH_SEED_EXPLICIT Nov 4, 2017
inline.h Fixes found by coverity Aug 24, 2018
install_lib.pl amigaos4: install scripts Jun 3, 2016
installhtml clean up directories of split pod files Jun 14, 2018
installman Do not (attempt to) install man pages when explicitly disabled Nov 30, 2017
installperl Replace multiple 'use vars' by 'our' in utils Nov 27, 2017
intrpvar.h Use compiled-in C structure for inverted case folds Aug 23, 2018
invlist_inline.h Use charnames inversion lists Aug 23, 2018
iperlsys.h remove broken PerlLIO_mkstemp() definition Jun 14, 2018
keywords.c fixup feature changes fc, __SUB__ Jun 14, 2018
keywords.h fixup feature changes fc, __SUB__ Jun 14, 2018
l1_char_class_tab.h regen: add emacs modeline to vim ft=c Aug 13, 2017
locale.c fix NULL dereference in _is_cur_LC_category_utf8() Sep 18, 2018
make_ext.pl optimize static method calls to subs Dec 13, 2017
make_patchnum.pl make_patchnum: touch the targets Nov 30, 2017
makedef.pl makedef.pl: fix autovivification of hash slice warning Sep 16, 2018
makedepend.SH makedepend: improve flymake support Nov 21, 2017
malloc.c in malloc, compute memory sizes in size_t Jun 14, 2018
malloc_ctl.h Use new paradigm for hdr file double inclusion guard Nov 4, 2017
mathoms.c fixup to_utf8_ mathoms for win32 .def Aug 24, 2018
metaconfig.SH Remove some remnants of x2p, which was removed by commit e5a8a0f Feb 18, 2015
metaconfig.h Add HAS_STRTOD_L to metaconfig.h and rebuild Configure Aug 24, 2018
mg.c mg.c: Fix isSCRIPT_RUN call Jun 14, 2018
mg.h Replace common Emacs file-local variables with dir-locals Mar 23, 2015
mg_names.inc ‘Nonelems’ for pushing sparse array on the stack Jun 14, 2018
mg_raw.h ‘Nonelems’ for pushing sparse array on the stack Jun 14, 2018
mg_vtable.h ‘Nonelems’ for pushing sparse array on the stack Jun 14, 2018
miniperlmain.c fix up faulty perl embeddings Jun 14, 2018
mkppport mkppport/Devel-PPPort 3.36_04: rearchitecture make -s Dec 5, 2017
mkppport.lst Add ppport.h to IO Aug 26, 2018
mro_core.c Use memEQs, memNEs in core files Nov 27, 2017
myconfig.SH myconfig: add git_describe, git_branch info Nov 27, 2017
mydtrace.h dtrace: add glob and hash probes Apr 29, 2017
nostdio.h -Dmv: add verbose SV arena debugging Nov 14, 2016
numeric.c numeric.c: Refactor code to use only one RESTORE Jun 14, 2018
op.c Add shadow warning Subroutine masks new package Sep 14, 2018
op.h rmv/de-dup static const char array "strings" Aug 11, 2018
op_reg_common.h silence some gcc -pendantic warnings Jun 19, 2015
opcode.h Use ck_null for ~. Jun 14, 2018
opnames.h static meth: fix for threads, remove OA_PADOP Dec 16, 2017
overload.h regen: add emacs modeline to vim ft=c Aug 13, 2017
overload.inc regen: add emacs modeline to vim ft=c Aug 13, 2017
packsizetables.inc regen: add emacs modeline to vim ft=c Aug 13, 2017
pad.c harmonize skipped main:: in %DB::sub Sep 4, 2018
pad.h Add pad_findmy_real Jan 15, 2018
parser.h (perl #125351) abort parsing if parse errors happen in a sub lex Jun 14, 2018
patchlevel.h Porting/bump-perl-version -i 5.28.0 5.29.0 Sep 13, 2018
perl.c add Config{usesafehashiter} and USE_SAFE_HASHITER Sep 13, 2018
perl.h Porting/bump-perl-version -i 5.28.0 5.29.0 Sep 13, 2018
perl_inc_macro.h Fix Windows build failure introduced by 7d00a34 Nov 30, 2017
perl_langinfo.h perl_langinfo.h: Fix typo in comment Aug 17, 2018
perlapi.c regen: add emacs modeline to vim ft=c Aug 13, 2017
perlapi.h Use compiled-in C structure for inverted case folds Aug 23, 2018
perldtrace.d dtrace: add glob and hash probes Apr 29, 2017
perlio.c fix PerlIOValid(f) -Wnonnull-compare Aug 17, 2018
perlio.h Use new paradigm for hdr file double inclusion guard Nov 4, 2017
perlio.sym Purge remaining references to PerlIO_sprintf and PerlIO_vsprintf(). Oct 7, 2013
perliol.h Use new paradigm for hdr file double inclusion guard Nov 4, 2017
perlsdio.h Evict PERLIO_IS_STDIO from top-level core files. Jun 3, 2016
perlvars.h Use compiled-in C structure for inverted case folds Aug 23, 2018
perly.act add Perl_init_named_cv() functiom Jun 14, 2018
perly.c perly.c: Clarify comment Feb 28, 2017
perly.h add Perl_init_named_cv() functiom Jun 14, 2018
perly.tab add Perl_init_named_cv() functiom Jun 14, 2018
perly.y add Perl_init_named_cv() functiom Jun 14, 2018
pp.c fix build failure with recent glibc Aug 26, 2018
pp.h EXTEND_NNEG omit n<0 check Nov 13, 2017
pp_ctl.c Allow goto into glob’s arg Jun 14, 2018
pp_hot.c usenamedanoncv: named __ANON__ => name@ Aug 31, 2018
pp_pack.c (perl #131844) fix various space calculation issues in pp_pack.c Aug 24, 2018
pp_proto.h Add OP_MULTICONCAT op Nov 27, 2017
pp_sort.c Revert "Strengthen weak refs when sorting in-place" Aug 26, 2018
pp_sys.c pp_warn: use MEXTEND rather than EXTEND Jun 14, 2018
pp_type.c UNDEF,SV_YES,SV_NO,PLACEHOLDER macros #252 Feb 14, 2017
proto.h Use a perfect hash for Unicode property lookups Aug 26, 2018
reentr.c regen/reentr.pl: simplify cpp conditionals Nov 27, 2017
reentr.h Add PERL_REENTRANT for XS modules Jun 14, 2018
regcharclass.h mktables: Add tests for t/re/unipropsFOO Aug 24, 2018
regcomp.c regcomp.c: White space only Aug 26, 2018
regcomp.h regcomp.h: Add comment Jun 14, 2018
regcomp.sym Spelling correction for consistency with pod/perldebguts.pod. Aug 23, 2018
regen.pl Config: support ext/Config/Config_xs.PL --regen Nov 22, 2016
regen_perly.pl Replace multiple 'use vars' by 'our' in regen. Nov 27, 2017
regexec.c regexec security: _invlist_search < 0 Sep 4, 2018
regexp.h fixup for NO_TAINT_SUPPORT Aug 26, 2018
regnodes.h Spelling correction for consistency with pod/perldebguts.pod. Aug 23, 2018
run.c Minor op optims Jun 23, 2017
runtests.SH moved from cpan/ to dist/ExtUtils-Constant Mar 18, 2016
scope.c leave_scope SAVEt_CLEARSV Dec 19, 2017
scope.h better document macros taking literal strings Nov 30, 2017
sv.c Fix NULL dereference in format_hexfp Sep 18, 2018
sv.h Add isGV_or_RVCV macro Nov 20, 2017
taint.c semicolon-friendly diagnostic control Jun 14, 2018
thread.h thread.h: simplify cpp conditionals Nov 27, 2017
time64.c Deparse: some cperl fixups Nov 5, 2017
time64.h Use new paradigm for hdr file double inclusion guard Nov 4, 2017
time64_config.h Use new paradigm for hdr file double inclusion guard Nov 4, 2017
toke.c Accept calling a sub with quote #371 Sep 14, 2018
uconfig.h add Config{usesafehashiter} and USE_SAFE_HASHITER Sep 13, 2018
uconfig.sh add Config{usesafehashiter} and USE_SAFE_HASHITER Sep 13, 2018
uconfig64.sh add Config{usesafehashiter} and USE_SAFE_HASHITER Sep 13, 2018
un8ifcan.h optimize normalizer Oct 12, 2017
un8ifcmb.h Use Unicode 10.0 Nov 6, 2017
un8ifcmp.h optimize normalizer Oct 12, 2017
un8ifexc.h optimize normalizer Oct 12, 2017
uni_keywords.h utf8: add new Unicode 11 scripts Aug 26, 2018
unicode_constants.h regen/unicode_constants.pl: Add U+10FFFF entry Jun 14, 2018
universal.c remove FIELDS_DYNAMIC_PADSIZE Sep 1, 2018
unixish.h add wrap_keyword_plugin function (RT #132413) Nov 30, 2017
utf8.c utf8 security: _invlist_search < 0 Sep 4, 2018
utf8.h utf8 SCRIPTS: change init Aug 26, 2018
utfebcdic.h utf8n_to_uvchr() Properly test for extended UTF-8 Nov 9, 2017
util.c util.c: Fix typo in comment Jun 14, 2018
util.h use Perl_my_mkstemp() where appropriate Jun 14, 2018
utils.lst install: add new scripts Mar 18, 2016
vutil.c Synch cpan/version/* and other files with CPAN version 0.9923. Aug 24, 2018
vutil.h version-0.9923_02 Sep 7, 2018
vxs.inc version-0.9923_02 Sep 7, 2018
warnings.h Add 'alpha_assertions' warnings category Jun 14, 2018
write_buildcustomize.pl miniperl: harmonize . in @inc with blead Nov 20, 2017
xsutils.c Add another param to validate_proto Nov 16, 2017

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.
cperl is Copyright (C) 2012, 2014, 2015, 2016, 2017 by cPanel Inc and
Copyright (C) 2017, 2018 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, but
currently it's only a better 5.22 based variant without classes.

Currently it is about 15%x faster than perl5.22 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.