Where can I find more about the following syntax in perl?
The connection between and __DATA__ is unclear.
whil
Everything after __DATA__ is treated as a file you can read from the filehandle DATA. DATA is opened automatically and you don't have to do anything to get it that way.
What isn't clear? Your program seems to be using it properly.
Quoting the doc:
The
__DATA__token tells the perl compiler that the perl code for compilation is finished.Everything after the
__DATA__token is available for reading via the filehandleFOOBAR::DATA, whereFOOBARis the name of the current package when the__DATA__token is reached.This works just the same as
__END__does in package 'main', but for other modules data after__END__is not automatically retrievable, whereas data after__DATA__is.
Can add to this only that using __DATA__ section is quite handy to illustrate some file reading-related concepts in Perl. it's basically a file attached to a code, and contents of this file are easily accessible through <DATA>. That's why it's quite popular here on SO. )