http://www.perlmonks.org?node_id=594386


in reply to mysterious hash ref result

I could not write an example that reproduced this exact behavior, but in the construction:

{ state => 'db_user', usr_id => $self->client->param( 'usr_id' ), edit_usr_id => $self->client->param( 'edit_usr_id' ), mode => $self->client->param( 'mode' ) }
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,
$ perl -MData::Dump=dump -e ' sub f { (1, 2) }; print dump({ a => f, b => 1 }) '
prints
{ 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.