in reply to splitting data into multiple arrays?

Yes...
use strict; use warnings; use Data::Dumper::Simple; my $string = 'Tom.Dog.Ben.Cat'; my (@a1, @a2, @a3, @a4); ($a1[0], $a2[0], $a3[0], $a4[0]) = split /\./, $string; print Dumper(@a1, @a2, @a3, @a4); __END__ @a1 = ( 'Tom' ); @a2 = ( 'Dog' ); @a3 = ( 'Ben' ); @a4 = ( 'Cat' );

... but what do you really want to do?

You should consider a Perl data structure: perldsc