in reply to Two loops

foreach ($lines) doesn't make sense. try
perl -e 'my $lines = 5; foreach ($lines) { print "foo\n"}'
and watch 'foo' being printed exactly once. maybe you wanted to say foreach (@data)?

language is a virus from outer space.