I was answering a question posted to one of the myriad of Perl mailing lists a few moments ago, and was reminded of this interesting point.
We're all told (or do the telling of) "use strict always!" and "barewords are bad". But the motivation for why barewords are bad might not be clear.
Back in the Perl3 days, when barewords were added, I came up with this interesting little puzzle. See if you can solve it. Don't post your answers without hiding them somehow (readmore, black-on-black, or some other way).
Presuming no "use strict" (or the days of Perl3), why does:
@days = (sun,mon,tue,wed,thu,fri,sat);
work OK, but
@months = (jan,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec);