in reply to Re: I present to you... Horrible code!
in thread I present to you... Horrible code!

There is one minor error: your @quarters array is zero-based, but the quarter as passed to the method counts from 1 ($quarters[1] is "second").

Should the "2" passed to "error" be a named constant instead of a magic number? Who knows, perhaps if this is an error level number a number is not that bad. If you turn the error levels into names, make sure that they are clear, unlike the US Homeland Security Advisory System (I always have trouble remembering whether "high" is higher than "elevated" or the other way around ;-) )