Re: a new version of perl for Windows
- From: Jamal Mazrui <empower@xxxxxxxxx>
- To: programmingblind@xxxxxxxxxxxxx
- Date: Sun, 23 Dec 2007 13:59:25 -0500 (EST)
Thanks for that news, Octavian.
Do you know whether most existing Perl libraries will be compatible with
the new version, or in general, should one wait until a library
specifically says it is compatible? Also, I'm curious what benefits you
personally find in the new version.
Jamal
On Wed, 19 Dec 2007, Octavian Rasnita wrote:
> Date: Wed, 19 Dec 2007 11:21:37 +0200
> From: Octavian Rasnita <orasnita@xxxxxxxxx>
> Reply-To: programmingblind@xxxxxxxxxxxxx
> To: programmingblind@xxxxxxxxxxxxx
> Subject: a new version of perl for Windows
>
> Perl 5.10.0 has been released today, the first in the 5.10.x major
> version series, after a five year long development process.
> Coincidentally today is also the 20th anniversary of the very first
> release of Perl 1 to the public.
>
> ----------------------------------------------------------------------
>
> ActiveState is pleased to announce ActivePerl 5.10.0 Build 1001, a
> complete, ready-to-install Perl distribution for Windows, Mac OS X,
> Linux, Solaris, and AIX.
>
> This build is based on the release version of Perl 5.10.0.
>
> For detailed information or to download this release, see:
>
> http://www.activestate.com/Products/activeperl
>
> New in ActivePerl 5.10.0 Build 1001
> ===================================
>
> Some exciting new features to look for:
>
> * The new switch statement and smart-match operator
>
> The new smart-matching operator ~~ compares two expressions with each
> other; the exact nature of the match is being determined by the types of
> both expressions: matching a string and hash will return if the hash
> contains a key equal to the string; matching a regular expression
> against an array will return if any element of the array matched
> successfully against the regexp etc.
>
> The new switch statement will smart-match a single expression repeatedly
> against a list of other expression until one matches. For example:
>
> given($foo) {
> when ("foo") {
> say '$foo is the string "foo"';
> }
> when ([1,3,5,7,9]) {
> say '$foo is an odd digit';
> continue; # Fall through
> }
> when ($_ < 100) {
> say '$foo is numerically less than 100';
> }
> default {
> die q(I don't know what to do with $foo);
> }
> }
>
> * Defined-or operator
>
> The new defined-or operator // allows you to write
>
> $a // $b
>
> instead of repeating the first argument as in
>
> defined $a ? $a : $b
>
> Also the statement
>
> $c //= $d;
>
> can now be used instead of
>
> $c = $d unless defined $c;
>
> * Many improvements to the regular expression engine, including:
>
> The regular expression engine is no longer recursive, meaning that
> patterns that used to overflow the stack will either die with useful
> explanations, or run to completion, which, since they were able to blow
> the stack before, will likely take a very long time to happen.
>
> - It is now possible to write recursive patterns that are easy to read
> (for a regular expression), and are executed in an efficient manner.
>
> - It is now possible to name capturing parenthesis in a pattern and
> refer to the captured contents by name. The naming syntax is
> (?<NAME>....). It's possible to backreference to a named buffer with
> the \k<NAME> syntax. After the match the named capture groups are
> accessible via the %+ hash:
>
> my $value = "foo 42";
> if ($value =~ /^(?<name>\w+) \s* (?<number>\d+)$/x) {
> say "Name $+{name} and Number $+{number}";
> }
>
> - possessive quantifiers
> - backtracking control verbs
> - relative backreferences
>
> Other new features include:
>
> * new say() function
> * lexical $_ variable
> * _ prototype
> * UNITCHECK blocks
> * state variables
> * stacked filetest operators
> * byte-order modifiers for pack() and unpack()
>
> * Many bug fixes
> * Additional core modules
> * Extended documentation
>
> Download ActivePerl 5.10.0 Build 1001 now:
>
> http://www.activestate.com/Products/activeperl
>
> Getting Started
> ===============
>
> Whether you're a first-time user or a long-time fan, our free resources
> will help you get the most from ActivePerl.
>
> Mailing list archives:
>
> http://aspn.activestate.com/ASPN/Mail/Browse/Threaded/ActivePerl
>
> Feedback
> ========
>
> Everyone is encouraged to participate in making Perl an even better
> language.
>
> For bugs related to ActiveState use:
>
> http://bugs.activestate.com/enter_bug.cgi?product=ActivePerl&version=1001
>
> For bugs related directly to Perl please use the 'perlbug' utility.
>
> Enjoy!
>
> _______________________________________________
> ActivePerl mailing list
> ActivePerl@xxxxxxxxxxxxxxxxxxxxxxxx
> To unsubscribe:
> http://listserv.ActiveState.com/mailman/mysubs
> Octavian
>
> __________
> View the list's information and change your settings at
> http://www.freelists.org/list/programmingblind
>
__________
View the list's information and change your settings at
http://www.freelists.org/list/programmingblind
- Follow-Ups:
- Re: a new version of perl for Windows
- From: Octavian Rasnita
- References:
- a new version of perl for Windows
- From: Octavian Rasnita
Other related posts:
- » a new version of perl for Windows
- » Re: a new version of perl for Windows
- » Re: a new version of perl for Windows
- Re: a new version of perl for Windows
- From: Octavian Rasnita
- a new version of perl for Windows
- From: Octavian Rasnita