#!/usr/bin/perl my $string; { $/ = undef; $string = ; } 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 ]