open( OUT, ">xyzfile" ) or die "Can't create xyzfile: $!\n"; foreach( qw( xfile yfile zfile ) ){ local( *IN ); open( IN, $_ ) or die "Can't open $_: $!\n"; print OUT while ; close( IN ); }