in reply to Re^2: Pushing hash ref onto array ref
in thread Pushing hash ref onto array ref

I've been making a point of using "perlref: Postfix Dereference Syntax". It removes the need for nested braces and brackets (e.g. %{$aref->[$i]} and @{$href->{$key}}) which can be confusing. It also reads linearly; i.e. ref->deref_to (e.g. $ref->%*) vs. deref_to{ref}.

For very simple dereferencing, I often find myself using the older (original) syntax (e.g. $$scalarref). This is no doubt out of years of habit and muscle memory. I still think $scalarref->$* is clearer and I try to remember to use that; it also adds consistency to my code.

I also find "perlref: Postfix Reference Slicing" to be a lot clearer; especially when the initial reference is a complex variable itself.

Of course, that all requires a sufficiently new version of Perl. For instance, I can't use that for $work where I'm constrained to 5.16; for personal code, where I'm using the latest Perl (currently 5.32) that's not an issue.

— Ken

Replies are listed 'Best First'.
Re^4: Pushing hash ref onto array ref
by Bod (Parson) on Apr 12, 2021 at 11:51 UTC
    Of course, that all requires a sufficiently new version of Perl. For instance, I can't use that for $work where I'm constrained to 5.16; for personal code, where I'm using the latest Perl (currently 5.32) that's not an issue.

    It didn't occur to me that they both worked because I am using an old version of Perl v5.16.3 on the server. Because I hadn't made the connection with versioning, I didn't think to try it locally on v5.32.1...