The detection of the real error location is not always precise (and it unfortunately cannot be). When you are looking at an obviously valid construct and Perl still insists on finding a fault there, look at the preceding statements - most likely it's a missing semicolon there that "extends" that statement further and leads to an error somewhere further down the code.
In your case, it's a missing semicolon in the statement right before your for statement:
my @files= <*.in>
In reply to Re^2: Array Manipulation
by Corion
in thread Array Manipulation
by Jalcock501
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |