I mentioned above that a Perl program can "read itself". Here is a short demo of that:
#!/usr/bin/perl
use warnings;
use strict;
## DEMO of reading myself
seek (DATA,0,0) or die "unable to seek $!";
print while <DATA>;
__DATA__
some data would go here