use IO::File; my @fh; my @file_names = ("output1.txt", "output2.txt", "output3.txt"); for (my $i=0; $i<=$#file_names; $i++){ $fh[$i]= IO::File->new( ">$file_names[$i]" ) || die "Cannot open $file_names[$i]: $!.\n"; }