Based on an off-list discussion, it turns out that unary C<=>
is not slurpy as mentioned in S04.  The following patch to S04
corrects this; I've already applied the patch but thought I'd
pass it by p6l for review/comments/reactions.

Pm

Index: S04.pod
===================================================================
--- S04.pod     (revision 3802)
+++ S04.pod     (working copy)
@@ -12,7 +12,7 @@
 
   Maintainer: Larry Wall <[EMAIL PROTECTED]>
   Date: 19 Aug 2004
-  Last Modified: 29 Jan 2005
+  Last Modified: 15 Jun 2005
   Number: 4
   Version: 5
 
@@ -185,13 +185,10 @@
 This has the added benefit of limiting the scope of the C<$line>
 parameter to the block it's bound to.  (The C<while>'s declaration of
 C<$line> continues to be visible past the end of the block.  Remember,
-no implicit block scopes.)  It is possible to write
+no implicit block scopes.)  It is also possible to write
 
     while =$*IN -> $line {...}
 
-But it won't do what you expect, because unary C<=> does a slurp in scalar
-context, so C<$line> will contain the entire file.
-
 Note also that Perl 5's special rule causing
 
     while (<>) {...}

Reply via email to