in reply to Using $1,$2 etc in closures..

Hmm.. silly me..
Just changed it to:
'commandi2' => sub { return ($1, 'who');},
and
@args = $commands->{'commandi2'}->();
.. Voila, no closures.. (Or it works, at least, which is the main thing..)

C.