my %handles = get_write_handles(qw/col1.txt col2.txt col3.txt/); sub get_write_handles { my @file_names = @_; my %file_handles; foreach (@file_names) { open my $fh, '>', $_ or next; $file_handles{$_} = $fh; } return %file_handles; }