I am unsure what you mean about changing the data. While i am not quite clear on that, i do understand you want to save each array of numbers seperatly. To accomplish this, i used an Array of Arrays. The code is listed below (it is untested) :
#!/usr/bin/perl
my $string;
{
$/ = undef;
$string = <DATA>;
}
my @collection;
while ($string =~ m!\[\s*([^]]+)\]!g) {
my @nums = split(/\s+/,$1);
print "Array : ",join(',',@nums),"\n";
push(@collection,\@nums);
}
## Now, i have an array or arrays, like :
#
# @collection = (
# [1,1,1,...],
# [4,4,4,...],
# [123,123,123,123,...],
# [-1,1,1,1,1,...],
# )
print "nloops : ",join(',',@{$collection[0]}),"\n";
print "lverts : ",join(',',@{$collection[1]}),"\n";
print "vertid : ",join(',',@{$collection[2]}),"\n";
print "params : ",join(',',@{$collection[3]}),"\n";
__DATA__
[1 1 1 1 1 1 ][4 4 4 4 4 4]
[ 123 123 123
123 123 123
123 123 123 ]
"P"
[ -1 1 1
1 1 -1
1 1 1 ]
I do not understand what you wrote about changing the data, but from what i posted i think you should be able to work out the seperate array issue which should put you well on your way.
from the frivolous to the serious