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
> //www.freelists.org/list/programmingblind
>
__________
View the list's information and change your settings at 
//www.freelists.org/list/programmingblind

Other related posts: