in reply to BEGIN block

Most likely, right after the BEGIN block, there is another use statement. The assignments to %ENV are for the benefit of that next use statement (which implicitly also happens at BEGIN time).

In the case of IO::Socket::SSL, this is to tell LWP::UserAgent the options to use with IO::Socket::SSL.