The most straight forward way with just perforce means is to put both versions framework the framework to perforce and map one of them in the clientview of your project. For example submit the frameworks to places like this: //thirdparty/framework-2.0-beta/... //thirdparty/framework-1.0-stable/...
In your projects clientview you map one of the two to a fixed target path, e.g.: //thirdparty/framework-2.0-beta/... //yourclient/framework/...
So far so good. But in larger environments (with several people developing the same project) you will definitely run into problems with that approach because:
the compile/test/performance results of your workspace are not necessarily the same of other people working on the same project (depending on the clientview)
having several modules (thirdparty or not) and handling them in this way will be hard to manage and lead to problems with crossdependencies (e.g. module a version 2 will require module b version > 3, but that doesn't work with certain other modules, etc.)
There are tools to solve these dependency issues. Look for Apache Ivy or Maven.