It would be really useful if the perforce plugin could add support for shelving – Functionality added perforce in version 2009.2.
Here is a good blog writeup --http://blog.perforce.com/blog/?p=1872
Many things hudson is great for is finding out if anyone "broke" the build by polling source repositories looking for commits and kicking off builds. But breaking builds and backing code is a pain sometimes. It would be even better if you could run a build in hudson BEFORE checking in your changelist to see if your changelist WOULD break the build and fix problems before they occur. That is exactly what perforce shelving does – It allows you to shelve your changelist – saving all your modifications to the server (without committing them), and then allowing others to pull down the shelved modified code and perform a build.
I'm not sure if the underlying tek42 perforce client library you use supports shelving, but if so this would be really useful functionality.