$text = 'a|b|c|||||||||e||||'; @array = split(/\|/,$text . '|MY_END_MARKER'); @array = @array[0..$#array-1]; use Data::Dumper; print Dumper(\@array); print scalar(@array), "\n";