in reply to Array Scopes?

Your problem is nothing to do with scope, you are overwriting each array on every iteration of the loop.
You need to add to each array, not reassign it. For example:
push @coursename,split(/(\w+),\s\w+,\s\w+,\s\w+,\s\w+,\s\w+/);