my $valstring = join('|', @valarray); my @elems = (); my $len = 100; my $count = 0; do { my $string = substr($valstring, 100*$count, 100); push(@elems, $string); $count++; $len = 100*$count; } while ($len < length $valstring);