If your program needs to scan the data multiple times
each time you run it and you have the memory to spare to
hold the whole file in
memory (almost certainly w/ a file as small as 6000x7) then
by all means read the file in once and store it in an
array (or other data structure) and process off of that.
If you are only going to need to scan the data once each
time your program is run then you will see no over-all
preformance gains
by pre-loading it into memory.
One module you may want to check out is
Text::CSV. It provides
parsing for CSV formatted files.