Grouping perl foreach values
Steven Hanley
sjh at svana.org
Tue Jul 9 11:41:09 EST 2002
On Tue, Jul 09, 2002 at 11:09:04AM +1000, Michael Still wrote:
>
> Hey,
>
> I've surfed and can't find anything on this, although that it probably
> because I don't know the perl word for it.
>
> I have a list of value in the form:
>
> v1;v2;v3;v4;v5;v6;v7;v8;v9
>
> And I want to work through them in sets of three, something like:
>
> foreach($cola, $colb, $colc) ($listofthings){
> ... do stuff ...
> }
>
> Can people either suggest how to do this, or suggest how I can refactor
> the problem to make this easier?
>
> Thanks,
> Mikal
well if the list is in a string/scalar lets put it into an array
my @arrayofthings = split /;/, $listofthings;
while (scalar (@arrayofthings)) {
my ($cola, c$colb, $colc) = splice (@arrayofthings, 0, 3);
# do whatever
}
will work (untested)
you may be able to do this with a regexp pulling the first three values off
the string each time through a loop also.
There are of course a few other ways to do it at least, this is perl after
all.
See You
Steve
--
sjh at wibble.net http://wibble.net/~sjh
You are subtle as a window pane standing in my view
but I will wait for it to rain so that I can see you
Anticipate - Ani
More information about the linux
mailing list