There was an interesting post on the comp.lang.perl.misc newsgroup regarding this, answered by jwkrahn, the negation has low precedence and needs to be in ()
#!/usr/bin/perl
# http://mathforum.org/library/drmath/view/55721.html
# gives bad output
my $x = ( -1 ** 0 );
print "$x\n";
# correct
my $y = ((-1)**0);
print "$y\n";