in reply to Re: can't spot the error
in thread Getting rid of uninitialized value warning (was: can't spot the error)

An even more idiomatic way might be:
while (<FILEHANDLE>) { chomp; my @array = split; next unless @array >= 15; ... }

conv

Replies are listed 'Best First'.
Re: Re: Re: can't spot the error
by demerphq (Chancellor) on May 08, 2002 at 08:46 UTC
    While I agree that your snippet is more idiomatic, it isnt the same thing as what the OP provided.
    $_=" a b c d e f g h"; @list=split/\s+/; print "split /\\s+/ : "; foreach my $i (0..$#list) { printf "%2d '%s', ",$i,$list[$i]; } print "\n"; @list=split; print "split : "; foreach my $i (0..$#list) { printf "%2d '%s', ",$i,$list[$i]; } print "\n"; __END__ split /\s+/ : 0 '', 1 'a', 2 'b', 3 'c', 4 'd', 5 'e', 6 'f', +7 'g', 8 'h', split : 0 'a', 1 'b', 2 'c', 3 'd', 4 'e', 5 'f', 6 'g', + 7 'h',
    And while I'm being pedantic :-) why do @array >= 15 when @array>14 does the same thing?

    *grin*

    Yves / DeMerphq
    ---
    Writing a good benchmark isnt as easy as it might look.