Perforce API Tools

Congratulations! You have found the home page for my Perl extensions to the Perforce API. There are two Perl modules available here:

P4::Client is the Perl/XS extension brings the Perforce API into Perl space. Its structure mirrors that of the Perforce API closely so unless you are familiar with the Perforce API, you may not find it overly intuitive to use.

P4 is a pure Perl module that makes P4::Client intuitive to use in Perl scripts. Essentially it represents just one way of using P4::Client so it won't be suitable for all purposes, but if you need to write a simple Perforce script, this is what you need. It does require P4::Client though, so you'll need to install that first.

Before you can compile P4::Client successfully, you will need to download the Perforce API tarball separately from the Perforce FTP Site.

Licence

This extension is distributed under the terms of this license, which is basically the BSD license. You use it at your own risk.

Support

Please send cries for help/comments/suggestions/ports/patches to tony@perforce.com. I'll deal with them as quickly as possible.

Stable Downloads

P4-Client-1.977.tar.gz (latest)
P4-Client-1.923.tar.gz
P4-Client-0.52.tar.gz
P4-Client-0.51.tar.gz

P4-0.982.tar.gz (beta build)

Development Builds

These builds are the head revision builds. Use them if you have a yen for the latest and greatest!

P4-Client.tar.gz ( Changes )
P4.tar.gz ( Changes )

Documentation

Documentation on how to use these extensions is in POD format within the distributions themselves. The docs from the head revision build are available as HTML here:

P4:: Documentation
P4::Client Documentation
P4::UI Documentation

P4::Client Porting Matrix

The following porting combinations have been successfully built and tested and should compile without problems. Perl's build environment is not ideally suited to C++ extensions (or at least I haven't found a really good way of making it work with C++ extensions) so you building on other platforms may require some fiddling with the compiler rules. See hints/linux.pl and the PORTING file for hints on how to go about it.

If you port it to another platform, please send me the hints file so we can make it available for other users.

Platform Perl Versions
FreeBSD Perl 5.5_003
Perl 5.6.0
Linux Perl 5.5_003
Perl 5.6.0
Solaris 2.8 Perl 5.6.0
Microsoft Windows2000 Perl 5.6.0