It seems that data file can split up to 17th elements and then the rest will start to split on the next line.
Um, no, that would be jumping to conclusions.
my @junk = split /;/, join ';', 'a'..'z', 'A'..'J';
print "$_=$junk[$_] " for 0,1,10,20,33,34,-1;
a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I
0=a 1=b 10=k 20=u 33=H 34=I -1=J
The reason your foreach loop doesn't work is explained in this FAQ, read all 3 parts
- Why it's stupid to `use a variable as a variable name'
- A More Direct Explanation of the Problem
- What if I'm Really Careful?
Read this if you want to cut your development time in half!
Read perlintro and the array /loop chapters of http://learn.perl.org/books/beginning-perl/