http://qs321.pair.com?node_id=367830


in reply to Draft - Writng plugable programs with perl.

Your update comment based on chromatic's comment is wrong. chromatic's comment was right, but you misunderstood it.

It isn't that require doesn't take a module name, in fact it can take a module name as an argument, exactly like use does. However it only does that when presented with a bareword. If you don't have a bareword in your code, then the expression is interpreted as a filename.

This is explained in the documentation for require. Look for the phrase, "If EXPR is a bareword".