in reply to Re^2: What is Perl way to simultaneously assign to three separate arrays?
in thread What is Perl way to simultaneously assign to three separate arrays?

Here's what I came up with to "post-process" the array to get what I wanted:

#! /usr/bin/perl -w use strict; use Data::Dump qw(dump); my @src = ( "/projects/2138137193/iblab?ref=discovery", 2138137193, "iBlab", "/projects/2060538158/nz-hosting?ref=discovery", 2060538158, "NZ Hosting", "/projects/1956727289/how-to-build-a-spaceship?ref=discovery", 1956727289, "How To Build A Spaceship" ); my @dst = (); my $by = 3; my $len = @src / $by; die "Not an integral multiple\n" unless ( 0 == @src % $by ); for (my $i = 0; $i < $len; $i++) { push @dst, [ splice @src, 0, 3 ]; } dump \@dst;

The output:

[ [ "/projects/2138137193/iblab?ref=discovery", 2138137193, "iBlab", ], [ "/projects/2060538158/nz-hosting?ref=discovery", 2060538158, "NZ Hosting", ], [ "/projects/1956727289/how-to-build-a-spaceship?ref=discovery", 1956727289, "How To Build A Spaceship", ], ]

I don't know why but lately I've been in a mood to "do it in one statement" or "do it in place". So I have to ask: "Can this be done in-place with just one array?"

Searched for donut and crumpit. Found donate and stumbit instead.