As you are a beginner, I just wanted to point you to a valuable tool bundled right into perl, Data::Dumper. My pointing this out won't necessarily _solve_ your problem, but it will go a long way towards helping you _visualize_ it.
All you need to do is put use Data::Dumper; in your script. Then you'll be able to use it to display the contents of your variables with a line like:
print Dumper( $foo );
So, you might use it in your script to display your @s array, or within your foreach loop to show the current value of your $line variable.
Keep Data::Dumper in mind. It's helped me learn all sorts of things in perl because it makes it so easy to actually see what's happening in a script.
Therapy is expensive. Popping bubble wrap is cheap. You choose.