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...

Reply via email to