The %ENV hash is really the container of the environment variables. But, given the variables used in your Perl script, it could very well be that these variables are defined and exported in the shell script that launches your Perl program (or in another Perl program that launches the code that you are looking at).

We have a lot of such cases where I work: one shell script that wraps the whole application and launches a number of different Perl programs. Exporting environment variables from the shell script makes it possible to define some data paths, file names, some constants for the run (such as the dates to be used), etc. in one single place, i.e. the shell script, and and have all the Perl programs to use the same values for these variables.