in reply to Remove multiple fields from hashref?

references quick reference
@regular ## deref @$ref ## deref @{ $hRef } @regular @{ $hRef }{ qw/ s l i c e / } @regular{ qw/ s l i c e / } delete @{ $hRef }{ qw/ s l i c e / } delete @regular{ qw/ s l i c e / }

Replies are listed 'Best First'.
Re^2: Remove multiple fields from hashref?
by Anonymous Monk on Mar 12, 2014 at 07:07 UTC
    use Data::Dump; %f = 1..8; dd\%f; delete @f{1..4}; dd\%f; $f=\%f; delete @{$f}{1..8}; dd $f; __END__ { 1 => 2, 3 => 4, 5 => 6, 7 => 8 } { 5 => 6, 7 => 8 } {}
Re^2: Remove multiple fields from hashref?
by ultranerds (Hermit) on Mar 12, 2014 at 07:05 UTC
    Thanks - so I basically just need to de-def it before I can do anything? :)
      Never mind - I see what you mean - and it worked a charm. Thanks :)

        Yeah, thats about it :)

        FWIW, you don't need the extra {} in this case , but its the simplest rule to remember

        $ perl -MData::Dump -e " $f = { 1..8 }; delete @$f{1..4}; dd$f; " { 5 => 6, 7 => 8 }

        Also happens to be first rule in References quick reference

        99/100 I use rule 1 :)