Either you have
in reply to Best way to manage package versions?
1. One project with several modules/files.
Use Git or Subversion. If one programmer broke the code, you will be able to revert this change.
If you are not sure if programmer break code or no - use unit/integration tests.
2. One project with several files, but you wish to distribute different files/modules independently. Different computers/module users will have different versions of modules installed.
Then you need put version for each module, and think about compatibility between version. This is about release management, and much more complicated that (1). Example is CPAN
Try use (1).
Also if your files/modules contain perl 'packages' use 'use', not require, unless you have good reason (for example, you decide runtime which module to load)
And always use version control systems (like Subversion/Git/Mercurial etc) unless you're writing something very very small to be deployed on one computer and you are alone.