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


in reply to Re: dereference array
in thread dereference array

Thanks for your (very fast) reply!

I have indeed an array ... of arrays:

ARRAY(0x235bc88)|ARRAY(0x235bd18)|ARRAY(0x235bd90)|ARRAY(0x235be08)|ARRAY...

Ok, a step in the right direction.

Replies are listed 'Best First'.
Re^3: dereference array
by hippo (Bishop) on Dec 03, 2013 at 13:33 UTC

    Apologies, I missed that. When you call Dumper with an array argument it displays each element as a different VAR which misled me.

    So actually, you have an array, each member of which is an arrayref. This means you hook into the outer array directly but into the elements as references, so the print statement could become something like:

    print join('|', map { $_->[0] } @edits), "\n";

    In map the $_ is a placeholder for each element of the @edits array, which we then use to extract element zero to be passed to join.

    HTH.

    PS. I'm not convinced there's much value in using this data structure to begin with, unless you will make the arrayrefs multi-valued at some point. You could again use map to change this:

    @edits = map { $_->[0] } @edits; # Now @edits is just an array of scalars so we can print join('|', @edits), "\n";

    Just a thought.

      Thanks!