OK, so in the spirit of Code-Golf, I'm trying out something new here: Code-Bowling.
In golf, you try to get the lowest score (smallest application, most elegant, etc). In Bowling, you try to get the highest score. So if you follow, the goal of a Code-Bowling challenge is to make the biggest, most bastardized, hardest to maintain piece of code that still meets the requirements of the challenge. However, there's no point in making source longer just for the sake of it. It needs to seem like that added length was from design and not just padding.
Here's this challenge:
Write a program in your language of choice that creates one line of text-output and terminates. The output that's created must be matched by this regex:
/^Good (Morning|Afternoon|Evening|Night)$/
The output may be random (using the languages or your own implementation) or chaotic (deterministic, but not trivially so).
For your enjoyment...
An updated, condensed version... I actually don't see why Length is a requirement. I think it's trivially easy to maintain some of these answers (add a possible greeting, change the existing ones). You really think you'd have an easier time altering this?:
This JavaScript piece comes with a text generator:
Yes, this isn't a long code, but it's still pointless to have.
Java+Spring: All interfaces are injectable for unit testing!
I wrote a tri-lingual frankensource program that can be interpreted with bash, compiled with gcc and interpreted with python without alterations to the code (if interpreted with bash, it invokes itself as C and python to accomplish the task). It also uses the load time of google as a source of random numbers.