Barring a design flaw (like the use of a global variable in the CGI module(s) that should never have been visible in the first place), you're ordinarily OK. And Perl has the ability to require at least a particular version (and we recently had a discussion about how to require exactly
a particular version) of a module.
But you can't regard any program as being comprised of just what you wrote. Even if you don't include any modules explicitly, you're still dependent on the language, the way it's been configured and installed, and the rest of the environment. Are you going to guarantee that your program will work in the next version of Perl? You might have faith that it will, but you won't know until you've seen it do so on a variety of systems.
It's not easy to make a non-trivial program that will work in everybody's system.