This looks like (malformed: spaces) CSV data to me. Splitting the lines, however simple it may look right now, seldom is the correct way to deal with that kind of data. Use Text::CSV_XS or Text::CSV:
use Text::CSV_XS;
my $csv = Text::CSV_XS->new ({ binary => 1, allow_whitespace => 1, aut
+o_diag => 1 });
my $fs = -s $ARGV[0] or die "Empty input file";
open my $fh, "<", $ARGV[0];
while (my $row = $csv->getline ($fh)) {
print int (100 * tell ($fh) / $fs), "%%\r";
my $sstation = $row->[5];
...
Enjoy, Have FUN! H.Merijn