in reply to Perl newbie question.

This does what you want
$ perl -e 'use strict; sub input{ my (@params) = $_[0] =~ m/([\S]+)/g; print scalar @params ," parameters supplied\n"; } input(join " ", @ARGV); ' Fear Anger Hate Darkside 4 parameters supplied
Update: Changed \w to \S as original question was split on multiple space characters (thanks to cdarke for spotting this) and modified argument list.

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