in reply to Clearing a hash reference

G'day jorba,

"... Can't modify non-lvalue subroutine call at ..."

Methods are subroutines. "$self->Fields" is the same as "$self->Fields()". You are attempting to assign zero to that "non-lvalue subroutine":

$self->Fields = 0;

I haven't delved too deeply into your code but I suspect you want something closer to:

$self->Fields({});

— Ken