A non-keyword which appears outside a quotation construct and without a prefix identifying it as a variable name or brackets identifying it as a sub.

Depending on context, barewords are parsed either as unquoted strings or as names of subs. use strict disallows most uses of barewords. But they're still legal in some circumstances. Most notable is $foo{bar}, where the bareword bar is invariably taken to be a string (specifying the hash key). This can cause unexpected behaviour when sub bar is defined -- just bar refers to the return value of bar (called with no arguments), while $foo{bar} is the same as $foo{'bar'}, and does not call bar.

Log in or register to write something here or to contact authors.