in reply to Script Help!

Sometimes conciseness can be good ;)
If I were in your situation I'd use Getopt::Std

It will have dealt with issues you haven't considered. You could also consider setting defaults for the various options to use if none is set.

print "Good ",qw(night morning afternoon evening)[(localtime)[2]/6]," fellow monks."