use Data::Dumper; my @files = ("ree", "ree1", "ree2"); print "Files: " . join(" ", @files) . "\n"; print Dumper \@files; foreach(@files) { print "The file is $_\n"; func(); } sub func { open(READ, "< test.txt"); while() { # print; } close READ; return; } print "Files: " . join(" ", @files) . "\n";