in reply to function(function(noFunction?))

I'm having a bit of trouble understanding what you're getting at, but I *think* I understand; you have this:
foreach $message (@logmessages) { LI(); Strong($message); }
and you want to be able to say:
foreach $message (@logmessages) { LI(Strong($message)); }
Is that correct?

If so, what you need to do is modify your "Strong" sub so that it *returns* the HTML rather than printing it out.

In other words:

sub Strong { return "<STRONG>" . $_[0] . "</STRONG>"; }
Now you can say
LI(Strong($message));
and it should work.

Is that what you were asking? (Of course, if you're going to do this, you *may* want to think about making all of your functions return the HTML rather than printing it, to be consistent.)