Nope, that would make performance worse as reading all the data into an array takes up memory...a while loop doesn't
Having open file handles isn't a problem as long as you close them when you are done.
Having open file handles isn't a problem as long as you close them when you are done.