1
0
Fork 0
mirror of https://github.com/Perl/perl5.git synced 2026-09-19 22:20:26 +00:00
🐪 The Perl programming language
  • Perl 59.8%
  • C 34%
  • Shell 2.5%
  • XS 2.2%
  • Text 0.8%
  • Other 0.6%
Find a file
Yves Orton 16d391e2e4 regcomp_study.c: keep extracted prefixes attached to tries
Prefix extraction can leave an EXACT node immediately before an already-built
TRIE. Such a node is not an independent alternation word, so exclude it both
when extending and when starting an enclosing trie sequence. Otherwise nested
branch flattening can produce a false positive around control verbs such as
(*SKIP), (*COMMIT), and (*THEN).

Exercise extracted prefixes across branch positions, nesting depths, control
verbs, captures, character-set modes, UTF-8, NUL, anchoring, and successful
continuation paths. These cases protect the boundary between an extracted
EXACT prefix and its attached jump trie.
2026-09-11 11:09:25 +08:00
.github Change github CI workflow to use the new -Uusetaint configure flag 2026-08-11 22:43:55 +01:00
amigaos4 Fix typos 2025-10-16 07:20:38 +02:00
cpan cpan/podlators - Update to version v6.1.1 2026-09-10 18:02:30 -04:00
Cross Recognise a ./Configure -Dusevaluemagic to enable value magic 2026-09-02 23:01:38 +01:00
cygwin Use ck_warner() more 2025-03-20 15:20:56 +00:00
dist parse_todo: Die only after gathering all errors 2026-08-25 07:46:09 -06:00
ext regex engine - compile tries using utf8 octets as the internal encoding 2026-09-11 11:09:25 +08:00
h2pl Switch most open() calls to three-argument form. 2016-12-23 13:52:28 -05:00
haiku Remove use of dVAR in core 2020-07-20 23:28:13 +01:00
hints Use getlocalename_l() if available 2026-09-02 12:52:38 -06:00
lib regex engine - compile tries using utf8 octets as the internal encoding 2026-09-11 11:09:25 +08:00
os2 Use ck_warner() more 2025-03-20 15:20:56 +00:00
os390 Convert Perl_croak calls to croak in core .c's 2026-04-14 10:28:09 -06:00
plan9 Recognise a ./Configure -Dusevaluemagic to enable value magic 2026-09-02 23:01:38 +01:00
pod regex engine - compile tries using utf8 octets as the internal encoding 2026-09-11 11:09:25 +08:00
Porting cpan/podlators - Update to version v6.1.1 2026-09-10 18:02:30 -04:00
qnx style: Detabify indentation of the C code maintained by the core. 2021-01-17 09:18:15 -07:00
regen regex engine - compile tries using utf8 octets as the internal encoding 2026-09-11 11:09:25 +08:00
t regcomp_study.c: keep extracted prefixes attached to tries 2026-09-11 11:09:25 +08:00
utils Remove period from end of abstract (subject) 2025-12-03 13:23:06 -05:00
vms New perldelta for 5.45.3 2026-08-20 16:49:17 -07:00
vos Build perl using the dynamic linking capabilities of OpenVOS Release 17.1. Remove private copies of some POSIX functions that are now implemented by OpenVOS. 2011-11-04 13:25:44 -07:00
win32 Recognise a ./Configure -Dusevaluemagic to enable value magic 2026-09-02 23:01:38 +01:00
.dir-locals.el Fix Emacs dir-local variables 2015-12-07 20:13:08 +00:00
.editorconfig Set .editorconfig for .xs files and add modeline to APItest.xs 2025-09-23 13:43:47 +01:00
.git_patch Add describe (patchlevel) to .git_patch and read it from make_patchnum.pl 2025-02-10 10:09:59 +01:00
.gitattributes Mark more files as generated to github 2026-05-25 17:41:54 +02:00
.gitignore add .ccache to .gitignore 2026-07-22 13:33:53 +02:00
.mailmap Set semantic values for invalid slurpy parameters 2026-08-31 17:58:31 -04:00
.metaconf-exclusions.txt Rely on C89 "const" 2018-11-27 11:43:22 +00:00
AI_POLICY.md Add our AI policy 2026-07-30 19:34:52 +02:00
Artistic fix typo in Artistic 2018-05-07 17:44:02 +01:00
asan_ignore asan_ignore: Explicitly list ignored behavior fcns 2019-05-24 17:09:30 -06:00
AUTHORS Set semantic values for invalid slurpy parameters 2026-08-31 17:58:31 -04:00
autodoc.pl embed.fnc, etc: Add Q visibility flag 2026-08-25 07:45:44 -06:00
av.c Perl_av_extend_guts - add a bump to small AV, small growth calls 2026-07-27 09:07:19 +01:00
av.h perlapi: newAV() fix typo 2025-09-18 22:49:10 -06:00
builtin.c Expose the export_lexical() API as public functions 2026-07-21 17:17:39 +01:00
caretx.c Add missing PERL_ARGS_ASSERTs 2026-03-14 16:27:26 -06:00
cflags.SH Quiet -Wmissing-field-initializers when building with g++ 2026-07-16 09:57:47 +01:00
Changes Update documentation, comments, metadata to reference GitHub as canonical repository (#1186) 2019-10-20 18:47:10 +02:00
charclass_invlists.inc regex engine - compile tries using utf8 octets as the internal encoding 2026-09-11 11:09:25 +08:00
class.c class.c: delay declaring $self until after block_start() 2026-08-25 11:47:05 +01:00
CODE_OF_CONDUCT.md Add top-level Code of Conduct document 2021-08-17 09:09:19 -04:00
config_h.SH Recognise a ./Configure -Dusevaluemagic to enable value magic 2026-09-02 23:01:38 +01:00
configpm Recognise a ./Configure -Dusevaluemagic to enable value magic 2026-09-02 23:01:38 +01:00
Configure Recognise a ./Configure -Dusevaluemagic to enable value magic 2026-09-02 23:01:38 +01:00
configure.com Recognise a ./Configure -Dusevaluemagic to enable value magic 2026-09-02 23:01:38 +01:00
configure.gnu Remove "dead" RCS $Id$ tags from files that we own. 2010-12-16 16:30:06 +00:00
CONTRIBUTING.md Add a CONTRIBUTING.md file 2026-07-28 13:12:53 +02:00
cop.h perlapi: Document G_ARRAY 2026-08-13 09:06:41 -06:00
Copying Update copies of GPL to match recent FSF changes 2025-05-02 23:35:09 +02:00
cv.h perlapi: Document CvNAMED-foo back-compat macros 2026-08-13 09:06:47 -06:00
deb.c Change a few functions to handle NULL aTHX 2026-08-09 15:50:51 -06:00
doio.c Convert doio.c's argvout from MAGIC to Magic v2 2026-07-28 13:53:53 +01:00
doop.c Create value magic 2026-09-02 23:01:38 +01:00
dosish.h Employ PL_shutdownhook 2024-09-30 22:52:06 +02:00
dquote.c Move ARGS_ASSERT macros to top of their functions 2026-03-14 16:53:44 -06:00
dump.c Create value magic 2026-09-02 23:01:38 +01:00
ebcdic_tables.h regen/ebcdic.pl: Use INIT() for ebcdic_tables.h 2025-10-06 08:20:03 -06:00
embed.fnc regex engine - compile tries using utf8 octets as the internal encoding 2026-09-11 11:09:25 +08:00
embed.h regex engine - compile tries using utf8 octets as the internal encoding 2026-09-11 11:09:25 +08:00
embedvar.h Add PL_re_superlinear_cache_delay variable 2026-09-08 13:11:07 +01:00
EXTERN.h Document things in EXTERN.h, INTERN.h 2025-09-28 11:09:26 -06:00
fakesdio.h fakesdio.h: Use legal macro name 2025-10-14 09:37:20 -06:00
feature.h Implement PPC 0026: Enhanced qr//xx 2026-02-28 15:00:09 -07:00
form.h better document format code 2011-05-29 20:21:52 +01:00
generate_uudmap.c Normalize C function headings 2026-03-14 16:27:26 -06:00
globals.c If we have thread local storage, use it instead of posix_getspecific(). 2021-09-07 15:46:16 +10:00
globvar.sym remove unused PL_no_mem symbol 2023-12-13 07:07:29 +01:00
gv.c add ${^RE_SUPERLINEAR_CACHE_DELAY} 2026-09-08 13:11:07 +01:00
gv.h perlapi: Document NULL pointer macros for back-compat 2026-08-13 09:06:42 -06:00
handy.h perlapi: Document pTHX_FORMAT, pTHX_VALUE, and add forms 2026-08-24 18:11:17 -06:00
hv.c Verify whether a shared KEY came from PL_strtab before bumping refcount 2026-08-18 20:44:18 +01:00
hv.h perlapi: Document NULL pointer macros for back-compat 2026-08-13 09:06:42 -06:00
hv_func.h Normalize C function headings 2026-03-14 16:27:26 -06:00
hv_macro.h hv_macro.h: remove duplicate CAN64BITHASH definition 2026-08-13 09:03:32 +02:00
inline.h Add bitcount32 & bitcount64 inline functions 2026-08-31 23:44:15 +01:00
INSTALL Support $PERL_RE_SUPERLINEAR_CACHE_DELAY env var 2026-09-08 13:13:21 +01:00
install_lib.pl Remove DOS/DJGPP support 2021-11-02 18:01:42 +00:00
installhtml installhtml: use warnings rather than -w 2025-12-24 13:11:24 +00:00
installman Remove AT&T UWIN support 2021-11-02 18:01:42 +00:00
installperl Restructure handling extra statbuf flags on z/OS 2025-09-17 14:34:41 -06:00
INTERN.h Document things in EXTERN.h, INTERN.h 2025-09-28 11:09:26 -06:00
intrpvar.h add ${^RE_SUPERLINEAR_CACHE_DELAY} 2026-09-08 13:11:07 +01:00
invlist_inline.h perlintern: Document two invlist functions 2026-04-15 18:50:23 -06:00
iperlsys.h Restructure handling extra statbuf flags on z/OS 2025-09-17 14:34:41 -06:00
keywords.c Create undef-aware equality test operators 2026-08-27 17:33:53 +01:00
keywords.h Create undef-aware equality test operators 2026-08-27 17:33:53 +01:00
l1_char_class_tab.h allow magic global vars to start with ${^R...} 2026-09-08 13:11:07 +01:00
locale.c Use getlocalename_l() if available 2026-09-02 12:52:38 -06:00
locale_table.h regen/locale.pl: Use 'USE_LOCALE" not 'NO_LOCALE' 2025-07-22 09:52:18 -06:00
long_names.c provide long_names on unthreaded builds 2026-07-06 16:06:44 +01:00
make_ext.pl make_ext.pl: eliminate goto-into-block construct 2026-01-30 17:25:50 +01:00
make_patchnum.pl Add describe (patchlevel) to .git_patch and read it from make_patchnum.pl 2025-02-10 10:09:59 +01:00
makedef.pl Fix makedef.pl to use correct compiler flag 2026-08-17 12:48:10 -06:00
makedepend.SH makedepend - fix edge case bug in makedepend infra 2026-07-22 13:33:53 +02:00
makedependfile.SH makedepend - fix edge case bug in makedepend infra 2026-07-22 13:33:53 +02:00
Makefile.SH New perldelta for 5.45.3 2026-08-20 16:49:17 -07:00
malloc.c Move ARGS_ASSERT macros to top of their functions 2026-03-14 16:53:44 -06:00
malloc_ctl.h Use new paradigm for hdr file double inclusion guard 2017-06-02 12:47:18 -06:00
MANIFEST regex engine - compile tries using utf8 octets as the internal encoding 2026-09-11 11:09:25 +08:00
MANIFEST.SKIP Add MANIFEST.SKIP file 2026-07-28 14:19:19 +02:00
mathoms.c Add missing PERL_ARGS_ASSERTs 2026-03-14 16:27:26 -06:00
META.json cpan/CPAN-Meta: update to 2.150015 2026-08-31 13:25:46 -07:00
META.yml cpan/CPAN-Meta: update to 2.150015 2026-08-31 13:25:46 -07:00
metaconfig.h Configure: Add probe for getlocalename_l() 2026-08-29 07:38:17 -06:00
metaconfig.SH Fix typos 2020-10-03 10:40:40 -04:00
mg.c add ${^RE_SUPERLINEAR_CACHE_DELAY} 2026-09-08 13:11:07 +01:00
mg.h Create value magic 2026-09-02 23:01:38 +01:00
mg_names.inc fix incorrect vi filetype declarations in generated files 2023-03-24 06:10:05 +08:00
mg_raw.h fix incorrect vi filetype declarations in generated files 2023-03-24 06:10:05 +08:00
mg_vtable.h mg_vtable, Use INIT() for PL_magic_vtable_names 2025-10-06 08:20:03 -06:00
miniperlmain.c update PL_main_thread on fork() 2025-08-07 14:12:56 +10:00
mkppport mkppport: fix build from path containing spaces 2026-08-10 23:38:10 +02:00
mkppport.lst mkppport.lst - add dist/ packages that contain XS 2022-04-18 14:22:26 +08:00
mro_core.c Rename HvAMAGIC to HvOVERLOAD 2026-07-21 10:13:33 +01:00
myconfig.SH myconfig.SH: remove leftover bincompat5005 entry 2020-08-10 23:08:53 +01:00
mydtrace.h rename and function-ise dtrace macros 2016-03-18 23:45:25 +00:00
nostdio.h nostdio.h: Properly indent #nested lines 2024-01-19 11:16:26 -07:00
numeric.c perlapi: Mark scan_(bin_oct_hex) as back-compat 2026-07-29 10:28:15 -06:00
op.c OP_REF_CMP - deparse order and symbol visibility 2026-08-31 21:18:43 +01:00
op.h perlapi: Document OP_SIBLING 2026-08-13 09:06:43 -06:00
op_reg_common.h op_reg_common.h: Remove temporary workaround 2026-02-28 10:24:03 -07:00
opcode.h OP_REF_CMP - deparse order and symbol visibility 2026-08-31 21:18:43 +01:00
opnames.h Create undef-aware equality test operators 2026-08-27 17:33:53 +01:00
overload.h Revert "switch removal: remove smartmatch" 2025-02-16 14:51:16 +01:00
overload.inc Revert "switch removal: remove smartmatch" 2025-02-16 14:51:16 +01:00
PACKAGING Add vim-modeline to render files as POD 2022-09-05 20:39:49 +02:00
packsizetables.inc remove all uses of STATIC in core 2026-01-31 13:17:41 +01:00
pad.c PADNAME: restore C99 compatibility 2026-08-21 07:16:35 +02:00
pad.h PADNAME: restore C99 compatibility 2026-08-21 07:16:35 +02:00
parser.h toke.c: Add parse_ident_msg() 2026-01-29 14:46:49 -07:00
patchlevel.h Bump the perl version in various places for 5.45.3 2026-08-20 16:50:08 -07:00
peep.c Add OP_REF_CMP to optimize (ref $x eq/ne 'SCALAR') patterns 2026-07-27 11:05:36 +01:00
perl.c regex engine - compile tries using utf8 octets as the internal encoding 2026-09-11 11:09:25 +08:00
perl.h regex engine - compile tries using utf8 octets as the internal encoding 2026-09-11 11:09:25 +08:00
perl_inc_macro.h Standardize .h recursive #include guard names 2026-01-22 07:21:21 -07:00
perl_langinfo.h perl_langinfo.h: Fix to work on Android 2024-10-21 15:17:16 -06:00
perl_lock_definitions.h lock_definitions.pl: Generate more back compat defines 2026-08-06 09:39:15 -06:00
perl_siphash.h Normalize C function headings 2026-03-14 16:27:26 -06:00
perlapi.h Correct typos as per GH 20435 2022-12-29 09:39:58 -05:00
perldtrace.d Replace common Emacs file-local variables with dir-locals 2015-03-22 22:36:14 -04:00
perlio.c add and use STRLEN_MAX 2026-08-10 09:41:01 +01:00
perlio.h perlapi: PERLIO_FUNCS_CAST is not a typedef 2024-08-31 18:22:06 -06:00
perlio.sym Purge remaining references to PerlIO_sprintf and PerlIO_vsprintf(). 2013-10-07 10:32:39 +02:00
perliol.h Remove :win32 PerlIO layer 2021-06-28 08:47:57 -06:00
perlsdio.h Evict PERLIO_IS_STDIO from top-level core files. 2015-07-23 17:54:06 -05:00
perlstatic.h Add missing PERL_ARGS_ASSERTs 2026-03-14 16:27:26 -06:00
perlvars.h regex engine - compile tries using utf8 octets as the internal encoding 2026-09-11 11:09:25 +08:00
perly.act [perly] Simplify subscript with subscriptable_reference 2026-09-01 10:37:46 +02:00
perly.c Add missing PERL_ARGS_ASSERTs 2026-03-14 16:27:26 -06:00
perly.h [perly] Simplify subscript with subscriptable_reference 2026-09-01 10:37:46 +02:00
perly.tab [perly] Simplify subscript with subscriptable_reference 2026-09-01 10:37:46 +02:00
perly.y [perly] Simplify subscript with subscriptable_reference 2026-09-01 10:37:46 +02:00
Policy_sh.SH add shebangs where missing 2012-09-22 11:56:32 -07:00
pp.c Create value magic 2026-09-02 23:01:38 +01:00
pp.h Create value magic 2026-09-02 23:01:38 +01:00
pp_ctl.c Create value magic 2026-09-02 23:01:38 +01:00
pp_hot.c Create value magic 2026-09-02 23:01:38 +01:00
pp_pack.c pp_pack.c: Avoid some other potential overflows when calculating sizes 2026-05-11 16:50:22 +01:00
pp_proto.h Create undef-aware equality test operators 2026-08-27 17:33:53 +01:00
pp_sort.c Convert Perl_sortsv_flags calls to sortsv_flags in core .c's 2026-04-14 10:28:22 -06:00
pp_sys.c Always enable sockets on VMS 2026-07-20 05:40:53 -05:00
proto.h regex engine - compile tries using utf8 octets as the internal encoding 2026-09-11 11:09:25 +08:00
README Bump copyright year 2026-02-01 19:16:30 +00:00
README.aix Update AIX README 2025-07-30 13:49:46 -06:00
README.amiga Add vim-modeline to render files as POD 2022-09-05 20:39:49 +02:00
README.android Add vim-modeline to render files as POD 2022-09-05 20:39:49 +02:00
README.bs2000 Don't try to link to INSTALL which is not linkable documentation 2025-04-18 15:30:10 +03:00
README.cn Add vim-modeline to render files as POD 2022-09-05 20:39:49 +02:00
README.cygwin README.cygwin: Note parallel compiling/testing is available 2022-11-29 13:07:01 -07:00
README.freebsd Replace FreeBSD URL's with new HTTPS ones 2023-01-11 12:08:10 -07:00
README.haiku Bump the perl version in various places for 5.45.3 2026-08-20 16:50:08 -07:00
README.hpux Add vim-modeline to render files as POD 2022-09-05 20:39:49 +02:00
README.hurd Add vim-modeline to render files as POD 2022-09-05 20:39:49 +02:00
README.irix Add vim-modeline to render files as POD 2022-09-05 20:39:49 +02:00
README.jp Add vim-modeline to render files as POD 2022-09-05 20:39:49 +02:00
README.ko Add vim-modeline to render files as POD 2022-09-05 20:39:49 +02:00
README.linux Grammar and POD formatting corrections 2026-02-23 18:34:44 -05:00
README.macosx Bump the perl version in various places for 5.45.3 2026-08-20 16:50:08 -07:00
README.openbsd Grammatical corrections 2025-12-07 21:29:40 -05:00
README.os2 Bump the perl version in various places for 5.45.3 2026-08-20 16:50:08 -07:00
README.os390 README.os390: Note warning that test suite generates 2026-06-29 16:39:03 +02:00
README.os400 Add vim-modeline to render files as POD 2022-09-05 20:39:49 +02:00
README.plan9 Add vim-modeline to render files as POD 2022-09-05 20:39:49 +02:00
README.qnx Add vim-modeline to render files as POD 2022-09-05 20:39:49 +02:00
README.riscos README.riscos: Improve the document 2024-04-03 17:19:58 -06:00
README.solaris Remove full stops from POD headings 2024-01-11 10:06:24 +00:00
README.synology Add vim-modeline to render files as POD 2022-09-05 20:39:49 +02:00
README.tru64 Add vim-modeline to render files as POD 2022-09-05 20:39:49 +02:00
README.tw Add vim-modeline to render files as POD 2022-09-05 20:39:49 +02:00
README.vms Bump the perl version in various places for 5.45.3 2026-08-20 16:50:08 -07:00
README.vos pods, comments: Fix up e.g. i.e. 2024-06-16 12:39:53 -06:00
README.win32 Bump version to 5.45.0 2026-07-15 23:40:18 +02:00
reentr.c Rename struct REENTR to PERL_REENTR 2026-08-24 06:15:14 -06:00
reentr.h Rename struct REENTR to PERL_REENTR 2026-08-24 06:15:14 -06:00
regcharclass.h regcharclass.h: cast length-returning macros to STRLEN to suppress Clang warning 2026-04-09 06:54:48 -06:00
regcomp.c regex engine - compile tries using utf8 octets as the internal encoding 2026-09-11 11:09:25 +08:00
regcomp.h regex engine - compile tries using utf8 octets as the internal encoding 2026-09-11 11:09:25 +08:00
regcomp.sym regex engine - compile tries using utf8 octets as the internal encoding 2026-09-11 11:09:25 +08:00
regcomp_debug.c regex engine - compile tries using utf8 octets as the internal encoding 2026-09-11 11:09:25 +08:00
regcomp_internal.h S_reg - add static helper for flattening nested branches 2026-09-07 21:52:01 +01:00
regcomp_invlist.c Convert Perl_dump_indent calls to dump_indent in core .c's 2026-04-14 10:28:10 -06:00
regcomp_study.c regcomp_study.c: keep extracted prefixes attached to tries 2026-09-11 11:09:25 +08:00
regcomp_trie.c regex engine - compile tries using utf8 octets as the internal encoding 2026-09-11 11:09:25 +08:00
regen.pl Add perl_lock_definitions.h 2026-07-17 05:33:38 -06:00
regen_perly.pl regen_perly.y: Slight modernisation; use Getopt::Long; support -Wfoo passthrough to bison 2026-08-24 15:14:26 +01:00
regexec.c regex engine - compile tries using utf8 octets as the internal encoding 2026-09-11 11:09:25 +08:00
regexp.h Widen trie word indexes to U32 2026-09-10 22:56:13 +08:00
regexp_constants.h regex engine - compile tries using utf8 octets as the internal encoding 2026-09-11 11:09:25 +08:00
reginline.h Add missing PERL_ARGS_ASSERTs 2026-03-14 16:27:26 -06:00
regnodes.h regex engine - compile tries using utf8 octets as the internal encoding 2026-09-11 11:09:25 +08:00
run.c Add missing PERL_ARGS_ASSERTs 2026-03-14 16:27:26 -06:00
runtests.SH Enable z/OS to run with '-e' option for runtests 2022-01-01 18:11:47 -07:00
sbox32_hash.h sbox32_hash.h - remove the default fallback to zaphod32 2026-08-20 17:13:50 +02:00
scope.c Convert Perl_savestack_grow_cnt calls to savestack_grow_cnt in core .c's 2026-04-14 10:28:22 -06:00
scope.h scope.h: Remove SAVELONG() expands to non-existent 2025-09-18 13:23:29 -06:00
scope_types.h Add SAVEt_PADSV_NULL, an optimised version of SAVEt_PADSV 2026-03-16 22:04:43 +00:00
SECURITY.md security docs: update capitalization of PSC 2021-04-16 19:16:49 -04:00
sv.c Add PL_re_superlinear_cache_delay variable 2026-09-08 13:11:07 +01:00
sv.h Create value magic 2026-09-02 23:01:38 +01:00
sv_inline.h Fix croak message in newSV_type() because it was very confusing before 2026-08-21 20:21:02 +01:00
taint.c Move ARGS_ASSERT macros to top of their functions 2026-03-14 16:53:44 -06:00
TestInit.pm allow some basic infrastructure to load with -Dusedefaultstrict 2024-01-04 14:24:53 +11:00
thread.h Use DEBUG_K in thread.h 2026-07-17 05:33:38 -06:00
time64.c time64.c: Skip tm_gmtoff assert() on z/OS 2026-05-19 06:38:50 -06:00
time64.h time64: declare tm_zone as const char* unconditionally 2020-07-18 01:28:15 +01:00
time64_config.h time64_config.h: #include reentr.h 2020-12-04 14:43:13 -07:00
toke.c Create undef-aware equality test operators 2026-08-27 17:33:53 +01:00
uni_keywords.h regex engine - compile tries using utf8 octets as the internal encoding 2026-09-11 11:09:25 +08:00
unicode_constants.h regen/unicode_constants: Create one for SHY 2025-10-26 13:58:09 -06:00
universal.c Rename CvNAMED to CvHasNAME_HEK 2026-07-29 14:40:15 +01:00
unixish.h Employ PL_shutdownhook 2024-09-30 22:52:06 +02:00
utf8.c utf8_length(): Assert input positioned properly 2026-07-16 09:55:15 +01:00
utf8.h regex engine - compile tries using utf8 octets as the internal encoding 2026-09-11 11:09:25 +08:00
utfebcdic.h Convert all core uses of _ASSERT__() to assert() 2025-09-03 19:46:22 -06:00
util.c Allow declaring a parameter UNUSED 2026-09-06 21:15:38 -06:00
util.h Add qerror() as a deprecated alias to defer_error(). 2026-04-16 11:13:40 +10:00
utils.lst Update IO-Compress to CPAN version 2.089 2019-11-06 23:24:10 +00:00
vutil.c update version from CPAN to 0.9934 2026-04-17 11:12:41 +02:00
vutil.h cpan/version: Update to version 0.9933 2024-09-14 17:45:19 -04:00
vxs.inc cpan/version: Update to version 0.9933 2024-09-14 17:45:19 -04:00
warnings.h Create undef-aware equality test operators 2026-08-27 17:33:53 +01:00
write_buildcustomize.pl write_buildcustomize.pl: Standardize indents at 4 spaces 2024-07-06 10:41:21 -04:00
XSUB.h remove all uses of STATIC in core 2026-01-31 13:17:41 +01:00
zaphod32_hash.h Standardize .h recursive #include guard names 2026-01-22 07:21:21 -07:00

Perl is Copyright (C) 1993 - 2026 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
at the GitHub issue tracker at https://github.com/Perl/perl5/issues

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 https://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, see
<https://www.gnu.org/licenses/>.

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.