in reply to mysterious hash ref result
I could not write an example that reproduced this exact behavior, but in the construction:
the methods are called in list context, and they may mess with the result if they do not return a list with an odd number of elements. For example,{ state => 'db_user', usr_id => $self->client->param( 'usr_id' ), edit_usr_id => $self->client->param( 'edit_usr_id' ), mode => $self->client->param( 'mode' ) }
prints$ perl -MData::Dump=dump -e ' sub f { (1, 2) }; print dump({ a => f, b => 1 }) '
{ 1 => undef, 2 => "b", a => 1 }
As I told, I could not get the same behavior returning an empty list, but I am still investigating. Maybe if you omitted parts in your explanation, this case fits.
In Section
Seekers of Perl Wisdom