Perforce has supported concurrent versioning since at least 2001 if not earlier. Individual files could be marked as requiring locks which is useful for binary files for which concurrent changes cannot be merged (one of the big reasons why Perforce is so popular in game development), but it's not either the default or only option. It sounds like your organization had severely misconfigured Perforce.