use FileHandle; my @files = ("file1", "file2", "file3", "file4", "file5", "file6", "file7"); my @handles = map { my $fh = new FileHandle; $fh->open("< $_") ? $fh : undef; } @files; for $x (0..6) { my $h = $handles[$_]; print $h "$marctags[$x][3] $tagdata[$x]"; }