in reply to Reading multiple files one line at a time from arguments

This seems fine; I would check to make sure each successive $file exists and either bail or just skip non-existent files.

I'd consider using Getopt::Long to define a flag that can contain multiple values. This way, you'd have something like:

./readfiles.pl -f file1 -f file2 -f file3