- Your data fields appear to be tab or space separated which makes splitting on commas somewhat less than optimal.
- Ln 4 offers us a Filename and a var, $Filename. That's a few short of a dozen, too. In general, such goofs may be the result of re-typing your code in your post. Suggest you use cut'n'paste, instead.
- $Filename and $line are undeclared.
- The indentation on your table-building stanza makes it hard to read; not a big deal here, but in a more complex or longer code segment it would be a problem. Similarly, ending each table, tr, & td tag with a newline would make the resultant html more readable.
If you didn't program your executable by toggling in binary, it wasn't really programming!