The rules say a bareword is something that looks like an identifier but is treated like a string.
Abigail-II was
saying an identifier is (typically) made of letters, digits, and underscores; I was pointing out that it can also include the package separator :: and its deprecated
older version ', and also pointing out that ' is translated
into the newer :: even though the identifier will end up being considered a string.
But you should be using strict and warnings which makes the above irrelevant.