The two control characters ^D and ^Z, and the tokens
__END__ and __DATA__ may be used to indicate the logical
end of the script before the actual end of file. Any
following text is ignored.
Text after __DATA__ but may be read via the filehandle
"PACKNAME::DATA", where "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 "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 toplevel script (but
not in files loaded with "require" or "do") and leaves the
remaining contents of the file accessible via
See SelfLoader for more description of __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
has not yet been seen.
I can't find a reference to __DATA__ in the docs. I know its there somehere. Maybe someone else will post one.
Essentially, you can use <DATA> as a file handle that you don't need to open to access anything after the __DATA__ marker at the end of your source file, __END__ works too, but has caveats when used with modules I was informed recently.
It's very useful for testing and demo purposes. You can even have multiple embedded and even writable files using Damian Conway's Inline::Files, I don't think they would be useful for your purposes here though.
..and remember there are a lot of things monks are supposed to be but lazy is not one of them
Examine what is said, not who speaks.
1) When a distinguished but elderly scientist states that something is possible, he is almost certainly right. When he states that something is impossible, he is very probably wrong.
2) The only way of discovering the limits of the possible is to venture a little way past them into the impossible
3) Any sufficiently advanced technology is indistinguishable from magic.
Arthur C. Clarke.