in reply to RegEx misbehaving?
$ perl -e 'print join(" * ",split(/\s*/,"hi there")),"\n";'
h * i * t * h * e * r * e
The problem is that \s* matches zero or more spaces. That matches between every character, and so splits the results into single characters. What you want to split on is either /s+ or " ":
$ perl -e 'print join(" * ",split(" ","hi there")),"\n";'
hi * there
Unrelated, you could simplify this code greatly if you used a different data structure, such as this array of hash references @seq:
@{$seq[$i]}{qw(trstart trend period copy consize matches indels score numa numc numg numt entropy)} = split(' ',$line);
And has somebody has pointed out, your use of the diamond operator <TR_INFILE> is odd. You read a line at the end of the loop, then at the beginning of the loop you immediately discard this line and read a new one. You chomp the line at the end of the loop, but not the one at the beginning. This is probably not what you mean to do.
|
|---|