On Fri, Apr 01, 2005 at 07:26:04PM +0200, Steven Schubiger wrote:
> Inline attached is a patch.
I think some of the section headers can be improved...
> --- bleadperl/pod/perltrap.pod Tue Dec 21 13:29:36 2004
> +++ perltrap.pod Fri Apr 1 19:01:44 2005
> @@ -418,7 +418,7 @@
>
> =over 4
>
> -=item * Discontinuance
> +=item * Discontinuance C<_>
In "Discontinuance, Deprecation and BugFix traps" its not really so important
that each trap is a result of something being Discontinued, Deprecated or
a BugFix... what's important is that the feature isn't there anymore and
what that feature was.
So this one, for example, might be better titled
=item * Symbols starting with "_" no longer forced into main.
> Symbols starting with "_" are no longer forced into package main, except
> for C<$_> itself (and C<@_>, etc.).
> @@ -432,7 +432,7 @@
> # perl4 prints: $_legacy is 1
> # perl5 prints: $_legacy is
>
> -=item * Deprecation
> +=item * Deprecation C<::>
Double-colon is now a valid package separator
> Double-colon is now a valid package separator in a variable name. Thus these
> behave differently in perl4 vs. perl5, because the packages don't exist.
> @@ -462,7 +462,7 @@
>
> Also see precedence traps, for parsing C<$:>.
>
> -=item * BugFix
> +=item * BugFix C<splice()>
2nd and 3rd args to splice() are now in scalar context
> The second and third arguments of C<splice()> are now evaluated in scalar
> context (as the Camel says) rather than list context.
> @@ -476,7 +476,7 @@
> # perl4 prints: a b
> # perl5 prints: c d e
>
> -=item * Discontinuance
> +=item * Discontinuance C<goto>
Can't do a goto into a block that is optimized away.
> You can't do a C<goto> into a block that is optimized away. Darn.
>
> @@ -490,7 +490,7 @@
> # perl4 prints: Here I is!
> # perl5 errors: Can't "goto" into the middle of a foreach loop
>
> -=item * Discontinuance
> +=item * Discontinuance whitespace as the name of a variable
Can't use whitespace as a variable name or quote delimiter.
> It is no longer syntactically legal to use whitespace as the name
> of a variable, or as a delimiter for any kind of quote construct.
> @@ -503,7 +503,7 @@
> # perl4 prints: a is foo bar, b is baz
> # perl5 errors: Bareword found where operator expected
>
> -=item * Discontinuance
> +=item * Discontinuance C<while/if BLOCK BLOCK>
while/if BLOCK BLOCK gone
> The archaic while/if BLOCK BLOCK syntax is no longer supported.
>
> @@ -517,7 +517,7 @@
> # perl4 prints: True!
> # perl5 errors: syntax error at test.pl line 1, near "if {"
>
> -=item * BugFix
> +=item * BugFix C<**>
** binds tighter than unary minus
> The C<**> operator now binds more tightly than unary minus.
> It was documented to work this way before, but didn't.
> @@ -527,7 +527,7 @@
> # perl4 prints: 16
> # perl5 prints: -16
>
> -=item * Discontinuance
> +=item * Discontinuance C<foreach{}>
foreach changed when iterating over a list
> The meaning of C<foreach{}> has changed slightly when it is iterating over a
> list which is not an array. This used to assign the list to a
> @@ -559,7 +559,7 @@
> happens when you use C<$_> for the loop variable, and call subroutines in
> the loop that don't properly localize C<$_>.)
>
> -=item * Discontinuance
> +=item * Discontinuance C<split>
split with no arguments behavior changed
Umm, etc...