Unless mentioned otherwise, Perl operators will use character semantics when they are dealing with Unicode data, and byte semantics otherwise. Under character semantics, many operations that formerly operated on bytes change to operating on characters. But by and large, the user need not worry about this, because Perl hides it from the user. Larger characters encode to longer sequences of bytes internally, but again, this is just an internal detail which is hidden at the Perl level. Identifiers within the Perl script may contain Unicode alphanumeric characters, including ideographs.
Regular expressions match characters instead of bytes.
Character classes in regular expressions match characters instead of bytes, and match against the character properties specified in the Unicode properties database. Case translation operators use the Unicode case translation tables when provided character input. Naturally the corresponding backslash sequences have the same semantics. This is planned in the near future, however. Use of locales with utf8 may lead to odd results.