use strict; use warnings; use FileHandle; for (my $i = 0; $i < @myArr; $i++) { my $value = $myArr[$i]; my $index = $i + 1; my $file = "file${index}"; write_value_to_file($value, $file); } sub write_value_to_file { my ($val, $fname) = @_; my $fh = new FileHandle; open($fh, ">", $fname) or die "unable to write $fname ($!)\n"; print $fh "$val\n"; close $fh; }