Perl 6 cleans up some odd cases in its predecessor by not allowing spaces in some places but also doing jobs in other places. Where does space matter? It would be nice to have a complete reference and as such I've added a community wiki answer that I'll update with your rep-earning answers. Examples appreciated!
But, also remember that Perl 6 has unspace, so you can use a \ to make whitespace effectively invisible. For example, you aren't supposed to air out the subroutine name and it's argument list, but with unspace you can:
sub-name ( @arguments ); # not okay
sub-name\ ( @arguments ); # okay