in reply to split function

Your line while(my @line = <DATAIN>) slurps in the whole file. I think what you mean to write is:

open(DATAOUT, ">variable")||die"$!\n"; for(my $count=0.9; $count<=1; $count=$count+0.01) { open(DATAIN, "<$ARGV[0]")||die"cannot open \"ARGV[0]\":$!"; while(<DATAIN>) { my @line = split (/\t/); if($line[2] >= $count) { print DATAOUT; } } close DATAIN; }

The while(<DATAIN>) structure reads the next line into the special variable $_, which is then split on tabs and stored in my @line = split (/\t/);. See I/O Operators and split.

If this does not meet spec, post your input file (wrapped in code tags) and expected output, so we can see what you see what you see. Read How do I post a question effectively?.

Update: Please do not change the content of posts - it makes it less likely people will notice your updates and makes it much more difficult to follow threads later. It looks like jwkrahn's post below answers your concerns.

Replies are listed 'Best First'.
Re^2: split function
by ysth (Canon) on Jul 12, 2010 at 17:03 UTC