hackmare, the problem is with your regexp. Check out the following demo, you actually got whole bunch of "" in your array.
use strict;
my $str = "abc\t\t\t\t\thij\t\t\t\t\t";
my @a = split("\t", $str, 99999);
for (0..$#a) {
if (defined($a[$_])) {
print "element $_ is $a[$_]\n";
} else {
print "element $_ is undef\n";
}
}
print $#a; #print out 10
Change your regexp to something like:
split(/\t+/, $str, 99999);
should help you. After the change, it prints out 2. (There is still one empty string at the end, but now much easy to handle)