^ is a bitwise XOR.
You want mPow(a, b) (where a and b are replaced with numbers).
a @ b joins a and b as a string, SPC does the dame thing with a space between them, TAB with a tab, and NL with a newline.
{}s must be used when declaring a function or package, may be used during a new statement to set specific values for the created object, can be used with if, while, and for to allow any number of statements rather than exactly one, and is generally a syntax error otherwise. I might have missed a few valid uses.