in reply to Your named arguments

My normal way for three required parameters is:
use Class::ParmList qw(simple_parms); sub convert { my ($from, $to, $thing) = simple_parms([qw(from to thing)], @_); #... }
When I finish my Sub::Parms module that will become (using the default 'required' mode):
use Sub::Parms; sub convert { BindParms : ( my $from := from; my $to := to; my $thing := thing; ) #... }