-p is a test operator, so your expression is more or less equivalent to a question: "Is _ (=this) not a pipe?".
At least in Unix, '|' is not a valid filename, so -p '|' will always be false: "Is '|' a pipe? No.". So the ASCII representation of a pipe, '|', is never a pipe itself, which is exactly what Magritte meant with his painting.
It's too late now, but if perl had added a special syntax of
m!! to indicate a negated match we could use m!\|!. As it is
we have a modified form of one of sfink's suggestions: $_ !~ m/\|/.
Also, what about?
pipe(STDIN, STDOUT);
#Optional:
$|--, print STDOUT "This is not a pipe\n" ne <STDIN>;