in reply to find real length of an array

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)

Replies are listed 'Best First'.
Re: Re: find real length of an array
by hackmare (Pilgrim) on Mar 16, 2003 at 22:43 UTC

    Sorry, the code above is just a quick example. The real code does exactly what you have above (using a real regex).
    hackmare.