http://www.perlmonks.org?node_id=450188


in reply to Why use strict is good, and barewords are bad

Guess without reading others:
oct is a reserved word due to oct() function thus causing months to fail. I had to consult Google to check whether oct() is in fact a builtin because I never use it. My first guess was that may() was some sort of uberobscure conditional. It also occured to me that dec() or sep() might exist but it appears not.