"hat", "disjunct", "but not", "upto"
-- Used when something "wears many hats"
-- Also used in exclusive or and other disjunctions (you can only wear one hat at a time)
^ Before a value, the upto operator (a Bartholomew Cubbins hat)
^ Before a package name is shorthand for introspection (lets you see its hat collection.)
^ In a junction creates a one() junction
Operators containing this character
~^ and +^ and ?^ An exclusive or bitwise operation (or an invert, if only one argument)
^ placed on either or both ends of a range (..) or flip-flop range (ff or fff) to exclude (or "cap") the endpoints
.^ as a method is also for introspection
^^ tight logical exclusive-or
When used inside regexes
^ Matches the start of a string
^^ Matches the start of a line
Variable names starting with hats inside a pointy block or sub are placeholder variables
Method names declared with hats are metaclass methods
Method names starting with hats are metaclass methods
Old, deprecated, or other language uses
^ was bitwise exclusive or in Perl 5. In Perl 6 that's ~^, +^, or ?^ for bitwise, and ^^ in logic.
Lots of special variables in Perl 5 started with ^. Not only are those gone, but placeholders cannot have single uppercase names