This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Note that DATA filehandle is unavailable during BEGIN {}
[perl5.git] / pod / perldata.pod
index 0dbb92a..e55f75a 100644 (file)
@@ -296,7 +296,10 @@ ignored, but may be read via a DATA filehandle: main::DATA for __END__,
 or PACKNAME::DATA (where PACKNAME is the current package) for __DATA__.
 The two control characters ^D and ^Z are synonyms for __END__ (or
 __DATA__ in a module).  See L<SelfLoader> for more description of
 or PACKNAME::DATA (where PACKNAME is the current package) for __DATA__.
 The two control characters ^D and ^Z are synonyms for __END__ (or
 __DATA__ in a module).  See L<SelfLoader> for more description of
-__DATA__, and an example of its use.
+__DATA__, and an example of its use. Note that you cannot read from the
+DATA filehandle in a BEGIN block: the BEGIN block is executed as soon as
+it is seen (during compilation), at which point the corresponding
+__DATA__ (or __END__) token hasn't been seen.
 
 A word that has no other interpretation in the grammar will
 be treated as if it were a quoted string.  These are known as
 
 A word that has no other interpretation in the grammar will
 be treated as if it were a quoted string.  These are known as