ActivePerl 5.10 Build 1000 Beta release

ActivePerl 5.10 Build 1000 Beta release

am 24.11.2007 02:03:46 von Jan Dubois

ActiveState is pleased to announce ActivePerl 5.10.0 Build 1000 Beta,
a beta release of the complete, ready-to-install Perl distribution for
Windows, Mac OS X, Linux, Solaris, and AIX.

This build is based on the first release candidate of the Perl 5.10
source code. Since Perl 5.10 is not yet complete, this build
is designated as a Beta and will be followed by a final build once
Perl 5.10 is officially released.

Please use this beta build to try out new features in Perl 5.10 and to
test source level compatibility of your existing Perl code under this
new release (note that Perl 5.10 is not binary compatible to earlier
releases).

For detailed information or to download this beta release, see:

http://www.activestate.com/Products/activeperl/beta_download .plex

New in ActivePerl 5.10.0 Build 1000 Beta
========================================

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
(?....). It's possible to backreference to a named buffer with
the \k syntax. After the match the named capture groups are
accessible via the %+ hash:

my $value = "foo 42";
if ($value =~ /^(?\w+) \s* (?\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 1000 Beta now:

http://www.activestate.com/Products/activeperl/beta_download .plex

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/Active Perl

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=1000

For bugs related directly to Perl please use the 'perlbug' utility.

Enjoy!


_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

RE: ActivePerl 5.10 Build 1000 Beta release

am 24.11.2007 19:11:23 von Jan Dubois

On Fri, 23 Nov 2007, Sisyphus wrote:
>
> Installing from the zip package (by running Installer.bat):
>
> -------------------------------
> .
> .
> Configuring PPM for use in C:\_32\ap1000...
>
> Syncing perl PPM database with .packlists...DBD::SQLite::db do failed:
> column path is not unique(1) at dbdimp.c line 402 at
> C:/_32/ap1000/lib/ActivePerl/PPM/InstallArea.pm line 798.
> DBD::SQLite::db do failed: column path is not unique(1) at dbdimp.c line 402
> at
> C:/_32/ap1000/lib/ActivePerl/PPM/InstallArea.pm line 798.
> done
> .
> .
> -------------------------------

We are aware of this problem. It happens because the 5.10 repositories
are not online yet. I hope we'll have something at the end of next week
or so. But we still need to fix the ugly error message too, as it will
always appear when you install on a machine without internet connection.

> The rest of the installation process ran as per normal.
>
> I installed Inline::C, Inline::CPP and a few other extensions (all using the
> MinGW compiler). Everything looks fine (for my purposes, at least).

That good to hear. Thanks for your feedback!

Cheers,
-Jan

_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Re: ActivePerl 5.10 Build 1000 Beta release

am 26.11.2007 04:00:18 von Foo JH

Wow, this is exactly what I've been waiting for this whole year!

Now if the final release will only come out before Christmas...hee hee

Jan Dubois wrote:
> ActiveState is pleased to announce ActivePerl 5.10.0 Build 1000 Beta,
> a beta release of the complete, ready-to-install Perl distribution for
> Windows, Mac OS X, Linux, Solaris, and AIX.
>
> This build is based on the first release candidate of the Perl 5.10
> source code. Since Perl 5.10 is not yet complete, this build
> is designated as a Beta and will be followed by a final build once
> Perl 5.10 is officially released.
>
> Please use this beta build to try out new features in Perl 5.10 and to
> test source level compatibility of your existing Perl code under this
> new release (note that Perl 5.10 is not binary compatible to earlier
> releases).
>
> For detailed information or to download this beta release, see:
>
> http://www.activestate.com/Products/activeperl/beta_download .plex
>
> New in ActivePerl 5.10.0 Build 1000 Beta
> ========================================
>
> 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
> (?....). It's possible to backreference to a named buffer with
> the \k syntax. After the match the named capture groups are
> accessible via the %+ hash:
>
> my $value = "foo 42";
> if ($value =~ /^(?\w+) \s* (?\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 1000 Beta now:
>
> http://www.activestate.com/Products/activeperl/beta_download .plex
>
> 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/Active Perl
>
> 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=1000
>
> For bugs related directly to Perl please use the 'perlbug' utility.
>
> Enjoy!
>
>
> _______________________________________________
> ActivePerl mailing list
> ActivePerl@listserv.ActiveState.com
> To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
>

_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Re: ActivePerl 5.10 Build 1000 Beta release

am 27.11.2007 17:00:57 von David Moreno

On Mon, 2007-11-26 at 11:00 +0800, Foo JH wrote:
> Now if the final release will only come out before Christmas...hee hee

That's Rafael's goal, AFAICT.

--
David Moreno Garza | http://www.damog.net/
Te dimos un arma para cuidarnos y el arma que usas la usas para matarnos.


_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

RE: ActivePerl 5.10 Build 1000 Beta release

am 27.11.2007 19:38:24 von Jan Dubois

On Tue, 27 Nov 2007, David Moreno wrote:
> On Mon, 2007-11-26 at 11:00 +0800, Foo JH wrote:
> > Now if the final release will only come out before
> > Christmas...hee hee
>
> That's Rafael's goal, AFAICT.

There has been some chatter to time the 5.10 release to fall on
the 20th anniversary of the Perl 1 release (18 Dec 2007).

It certainly seems highly likely that Perl 5.10 will be done
before Christmas; there are only very few minor nits to fix
(related to VMS support, and some more exotic platforms).

Cheers,
-Jan

_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs