in reply to Passing by Named Parameter

I think you answered you own question: look at the code in Getopt::Long.

-Mark