in reply to Re: multiple __DATA__ && __END__
in thread multiple __DATA__ && __END__

tell and seek may be used to jump around in the single __DATA__ section.

Quite true. I'm just going to throw in the mention that tell() really is needed if you are planning to seek() your way through *DATA. Simply because *DATA is an extension of your file, so seek DATA, 0, 0; brings you to the start of the file, rather than the start of the __DATA__ section. (P.S.: I gather that you already knew this, as per your mention of tell(). Just wanted to throw in the extra info for anyone who stumbles across this and wonders how to do such a thing).

#!c:/perl/bin/perl -w $|++; use strict; # incorrect - maybe not what you expect print scalar <DATA>; seek DATA, 0, 0; # seeks to first line of file! print scalar <DATA>; __DATA__ foo bar

#!c:/perl/bin/perl -w $|++; use strict; # correct my $start = tell DATA; # tells us where __DATA__ begins print scalar <DATA>; seek DATA, $start, 0; # seek to the saved point print scalar <DATA>; __DATA__ foo bar