use warnings; use strict; my %foo = map { $_ => undef } qw( employees rates departments ); for ( keys %foo ) { open $foo{$_}, '>', "files/$_.txt" or die "Cannot write to $_.txt: $!\n"; } for ( keys %foo ) { print { $foo{$_} } "$_\n"; } for ( keys %foo ) { close ( $foo{$_} ) or die "Cannot close $_.txt: $!\n"; } for ( keys %foo ) { print { $foo{$_} } "$_\n"; }