in reply to Reading the script code from itself

If you add a __DATA__ segment at the end, and rewind the DATA handle, you can read your code:

use strict; use warnings; seek( DATA, 0, 0 ); print while( <DATA> ); __DATA__