$line is a scalar variable that you declare in line 9. $line[$i] is an element of an array named @line, which is a totally different (undeclared) variable that has no relationship to the scalar named $line.
The scalar variable $i makes its first appearance in your script in line 11. What value is it supposed to contain? If you don't declare it, and don't assign it a value, it's probably not going to do what you need it to do.
You're missing a semicolon after the substr(...) call on line 14. (It's usually a good idea to look at the line right above where syntax errors are reported.)
Finally: Install perltidy and pass your script through it. Judicious use of white-space makes code more readable, and errors easier to detect.
These only address the superficial issues: the error messages you're seeing. Once you fix those issues, it becomes time to debug the logic.
Dave
In reply to Re: How to get rid of the errors in my perl script
by davido
in thread How to get rid of the errors in my perl script
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |