+ my (@i, @a);
+ foreach (split / /, $isles) {
+ my ($name,$arch)= $isleinfo->($_);
+ push @i, $name;
+ push @a, $arch unless @a && $a[-1] eq $arch;
+ }
+ $item->{Isles}= [ @i ];
+ $item->{Archs}= [ @a ];
+ $item->{Start}= $i[0];
+ $item->{Finish}= $i[-1];
+ $item->{Vias}= [ ];
+ my $i;
+ for ($i=1; $i < @i-1; $i++) {
+ push @{ $item->{Vias} }, $i[$i];
+ }