83f7126a09
= Core Enhancements = Experimental Try/Catch Syntax An initial experimental attempt at providing C<try>/C<catch> notation has been added. use feature 'try'; try { a_function(); } catch ($e) { warn "An error occurred: $e"; } For more information, see L<perlsyn/"Try Catch Exception Handling">. = C<qr/{,n}/> is now accepted An empty lower bound is now accepted for regular expression quantifiers, like C<{,3}>. = Blanks freely allowed within but adjacent to curly braces (in double-quotish contexts and regular expression patterns) This means you can write things like S<C<\x{ FFFC }>> if you like. This applies to all such constructs, namely C<\b{}>, C<\g{}>, C<\k{}>, C<\N{}>, C<\o{}>, and C<\x{}>; as well as the regular expression quantifier C<{I<m>,I<n>}>. C<\p{}> and C<\P{}> retain their already-existing, even looser, rules mandated by the Unicode standard (see L<perluniprops/Properties accessible through \p{} and \P{}>). This ability is in effect regardless of the presence of the C</x> regular expression pattern modifier. Additionally, the comma in a regular expression braced quantifier may have blanks (tabs or spaces) before and/or after the comma, like S<C<qr/a{ 5, 7 }/>>. = New octal syntax C<0oI<ddddd>> It is now possible to specify octal literals with C<0o> prefixes, as in C<0o123_456>, parallel to the existing construct to specify hexadecimal literal C<0xI<ddddd>> and binary literal C<0bI<ddddd>>. Also, the builtin C<oct()> function now accepts this new syntax. See L<perldata/Scalar value constructors> and L<perlfunc/oct EXPR>. = Performance Enhancements =item * Fix a memory leak in RegEx [L<GH #18604|https://github.com/Perl/perl5/issues/18604>] = Modules and Pragmata = New Modules and Pragmata =item * L<ExtUtils::PL2Bat> 0.004 has been added to the Perl core. This module is a generalization of the C<pl2bat> script. It being a script has led to at least two forks of this code; this module will unify them under one implementation with tests. (and lots more changes)
46 lines
1.3 KiB
Makefile
46 lines
1.3 KiB
Makefile
# $NetBSD: buildlink3.mk,v 1.70 2021/05/24 17:46:25 wiz Exp $
|
|
|
|
BUILDLINK_TREE+= perl
|
|
|
|
.if !defined(PERL_BUILDLINK3_MK)
|
|
PERL_BUILDLINK3_MK:=
|
|
|
|
.include "../../mk/bsd.fast.prefs.mk"
|
|
PERL5_REQD+= 5.34.0
|
|
.for _perl5_ver_ in ${PERL5_REQD}
|
|
BUILDLINK_API_DEPENDS.perl+= perl>=${_perl5_ver_}
|
|
.endfor
|
|
# Prevent p5-* etc. packages built for 5.34.0 to be used
|
|
# with the next incompatible version of perl:
|
|
BUILDLINK_API_DEPENDS.perl+= perl<5.36.0
|
|
|
|
BUILDLINK_PKGSRCDIR.perl?= ../../lang/perl5
|
|
|
|
_TOOLS_USE_PKGSRC.perl= yes
|
|
|
|
# do not change this LOCALBASE to PREFIX; that breaks the install of perl modules
|
|
PERL5= ${LOCALBASE}/bin/perl
|
|
|
|
pkgbase := perl
|
|
.include "../../mk/pkg-build-options.mk"
|
|
|
|
.if ${PKG_BUILD_OPTIONS.perl:Mthreads}
|
|
. include "../../mk/pthread.buildlink3.mk"
|
|
.endif
|
|
|
|
PERL5_OPTIONS?= # empty
|
|
.if !empty(PERL5_OPTIONS:Mthreads)
|
|
INSTALL_TEMPLATES+= ${.CURDIR}/../../lang/perl5/files/install_threads.tmpl
|
|
.endif
|
|
|
|
#
|
|
# Perl keeps headers and odd libraries in an odd path not caught by the
|
|
# default BUILDLINK_FILES_CMD, so name them to be symlinked into
|
|
# ${BUILDLINK_DIR}.
|
|
#
|
|
.include "../../lang/perl5/vars.mk"
|
|
BUILDLINK_FILES.perl= ${PERL5_SUB_INSTALLARCHLIB}/CORE/*
|
|
BUILDLINK_RPATHDIRS.perl+= ${PERL5_SUB_INSTALLARCHLIB}/CORE
|
|
.endif # PERL_BUILDLINK3_MK
|
|
|
|
BUILDLINK_TREE+= -perl
|