in reply to Foreach loop explanation

Hello. The reason is because all the lines match from one file to all the other lines in the other file.

If I run your code on two files where some of the lines match and some do not, only the lines that match are printed.

file1 one two three four five six seven eight file2 five six seven eight nine ten eleven twelve prints five six seven eight

update: oh. I didnt think of that SuicideJunkie! if i add a new line between 'three' and 'four' in file one, all the lines are printed out.