in reply to CVS repository via Perl
As Dave says, I think you should look again at VCS.
From your query about VCS, I think you may have misunderstood how CVS works. I had this same problem at first, because I had previously used PVCS and SourceSafe, which use the same terms to mean different things.
With CVS, your "project" is a "module" and to even look at it (e.g. to see it's structure in terms of files and directories), you must "checkout" the module to a working directory - this is effectively the same as a "Get Latest Version" in SourceSafe parlance. As far as I'm aware, you can't examine a file from the repository without taking a working copy, unlike SourceSafe and PVCS.
To modify a file, you "edit" it - the same as a checkout in SourceSafe, but beware, CVS edits are not exclusive by default. To save your changes in the repository, you "commit" - the same as a SourceSafe checkin.
Hope this helps!