If I'm on the right track we want to look first at those individual records which are each an (anonymous) array. For inserting values into the middle of an array, you need to use splice(). But to add elements to the beginning or end of an array, the following are each quite sufficient:
In the case of an aoa (array of arrays), we need to be a little more tricky with things but the principle is the same:@array = ($new, @array); # new 1st element or @array = (@array, $new); # new last element or @array = ($new, @array, $new2); # both
If you like things a little more verbose and plain-spoken, you can substitute the following for the map line:#!/usr/bin/perl -w use strict; # Fudge up some sample data my @records = (['Eagle', 'Bird', 'Feathers'], ['Moose', 'Mammal', 'Fur'], ['Adder', 'Snake', 'Skin']); # Insert the record number column @records = map { [$_, @{$records[$_]}] } (0..$#records); # Show the result print "@$_\n" for @records;
Hope this helps.for my $i (0..$#records) { @{$records[$i]} = ($i, @{$records[$i]}); }
David
------------------------------------------------------------
"Perl is a mess
and that's good because the
problem space is also a mess." - Larry Wall
In reply to Re: Want to add a ROW # field to an pre-existing array
by dvergin
in thread Want to add a ROW # field to an pre-existing array
by S_Shrum
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |