in reply to Reading from an INI file

Another thing altogether, when you do
for(@file) { ... }
each element of @file is placed one by one in order into the variable $_, so you don't need to keep the $line count or access the lines from the hash, you can just work on the value in $_

you can also do

for $line (@file) { ... }
which will put the line in $line instead of $_

when you put arrays in a for loop, be mindful that any changes you make to the variable will be made to the item in the array, sometimes that is good, sometimes its not what you want :)

Also I should probably mention that in my previous response when I used /^#/ that is a regular expression which is acting on $_, the current line of the file. If you use my example and put the lines in $line, you would need to make /^#/ into $line =~ /^#/
to make the regexp look at $line instead of $_
                - Ant