Wait! That would delete all files that start with 'p' instead of the ones that don't start with a 'p'.
And, if that's what you wanted to do, the easier syntax would be rm -f p* (assuming your working directory is the one containing the files starting with 'p').
For the problem as stated, try locate -r $(pwd)/[^p]* | rm -f or some other file listing command piped through grep -v [^p].*
|