This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[perl #91508] __DATA__ starts reading on the next line
authorJohan Vromans <jvromans@squirrel.nl>
Tue, 24 May 2011 15:34:33 +0000 (08:34 -0700)
committerFather Chrysostomos <sprout@cpan.org>
Tue, 24 May 2011 15:39:20 +0000 (08:39 -0700)
In pod/perldata it is described that the DATA filehandle starts
reading after the __DATA__ token. In reality, it starts reading on the
line following the __DATA__ token.

Example:

print while <DATA>; __DATA__ foo
bar

This prints "bar", not "foo\nbar".

The attached patch fixes the documentation in pod/perldata.pod.

pod/perldata.pod

index 77cd0c2..28e4ecc 100644 (file)
@@ -417,7 +417,7 @@ end of file.  Any following text is ignored.
 Text after __DATA__ may be read via the filehandle C<PACKNAME::DATA>,
 where C<PACKNAME> is the package that was current when the __DATA__
 token was encountered.  The filehandle is left open pointing to the
 Text after __DATA__ may be read via the filehandle C<PACKNAME::DATA>,
 where C<PACKNAME> is the package that was current when the __DATA__
 token was encountered.  The filehandle is left open pointing to the
-contents after __DATA__.  It is the program's responsibility to
+line after __DATA__.  It is the program's responsibility to
 C<close DATA> when it is done reading from it.  For compatibility with
 older scripts written before __DATA__ was introduced, __END__ behaves
 like __DATA__ in the top level script (but not in files loaded with
 C<close DATA> when it is done reading from it.  For compatibility with
 older scripts written before __DATA__ was introduced, __END__ behaves
 like __DATA__ in the top level script (but not in files loaded with