in reply to Thoughts on "one function, flexible arguments"?
A useful test for any API (and passing parameters to a sub is an API in miniture) is: how easy is it to test against? If the test need to be complicated to accommodate the API it implies that the API is complicated and probably difficult both to use and implement. In the longer term that makes it error prone to use and hard to maintain.
Focus your effort on creating the simplest consistent API that achieves the task at hand. If you can't create a simple consistent API that probably means the task at hand is too complicated or badly conceived.