use warnings; use strict; my @foo; for ( 1..5 ) { open $foo[$_], '>', "files/file$_.txt" or die "Cannot write to file$_.txt: $!\n"; } for ( 1..5 ) { print { $foo[$_] } "$_\n"; } for ( 1..5 ) { close ( $foo[$_] ) or die "Cannot close file$_.txt: $!\n"; } for ( 1..5 ) { print { $foo[$_] } "$_\n"; }