@bigarray = map [ map split( /\*/ ), @$_ ], @bigarray;
The second map statement (map split(/\*/), @$_) in the reply of jwkrahn is not necessary. In addition, it has the side effect of splitting all elements (strings) of the referenced array even though the intent seems to be to split only the first. None of the other elements contains the particular split pattern being used, so the extraneous splits have no effect; however, this approach depends on the assumption that the split pattern never appears in the other elements, and no one knows what the future may hold.

(Note that the test data in @bigarray are slightly different.)

>perl -wMstrict -le "use Data::Dumper; my @bigarray = ( [ '123*jeff', 'tortoise', 'qwe*rty', ], [ '456*john', 'parrot', 'aze*rty', ], [ '789*jane', 'budgie', 'abc*def', ], ); @bigarray = map [ map split(/\*/), @$_ ], @bigarray ; print Dumper \@bigarray; " $VAR1 = [ [ '123', 'jeff', 'tortoise', 'qwe', 'rty' ], [ '456', 'john', 'parrot', 'aze', 'rty' ], [ '789', 'jane', 'budgie', 'abc', 'def' ] ]; >perl -wMstrict -le "use Data::Dumper; my @bigarray = ( [ '123*jeff', 'tortoise', 'qwe*rty', ], [ '456*john', 'parrot', 'aze*rty', ], [ '789*jane', 'budgie', 'abc*def', ], ); @bigarray = map [ split(/\*/, $_->[0]), @$_[ 1 .. $#$_ ] ], @bigarray ; print Dumper \@bigarray; " $VAR1 = [ [ '123', 'jeff', 'tortoise', 'qwe*rty' ], [ '456', 'john', 'parrot', 'aze*rty' ], [ '789', 'jane', 'budgie', 'abc*def' ] ];
Actually, I would prefer an approach using a for loop such as that of davidrw. In particular, the approach using splice can easily be modified to split any arbitrary element; this can also be done with the map approach, but with less concision.

In reply to Re^2: Shifting of 2D array slices by AnomalousMonk
in thread Shifting of 2D array slices by Ryuchi

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.