You can simplify AndyBo's program a bit at the expense of debuggability:<br><FONT FACE=monospace><br>while (<INPUT>

{<br> push(@File_Array, $_);<br>}<br></font><br>collapses to<br><FONT FACE=monospace><br>@File_Array = <INPUT>;<br></font><br>I use this regularly. If you are sure of your regular expression, you can even add in the next line. Instead of reading the file into an array, then greping the data lines out of the array, you can grep the input directly:<br><FONT FACE=monospace><br>open(INPUT, "</path/to/data/file"

;<br>@File_Array = <INPUT><br>close(INPUT);<br><br>@Data_Lines = grep(/.*\¦\s*\d+ns\s*\¦\s*\d+ns\s*\¦\s*\d*/, @File_Array);<br></font><br>becomes<br><FONT FACE=monospace><br>open(INPUT, "</path/to/data/file"

;<br>@Data_Lines = grep(/.*\¦\s*\d+ns\s*\¦\s*\d+ns\s*\¦\s*\d*/, <INPUT>

;<br>close(INPUT);<br></font><br><br>But as I said at the start, collapsing this much happens at the expense of debuggability. If I have problems with the script not picking up lines that it should then I expand back to a loop so I can see what is happening.<br><br>- Kai.<br><br>