#!/usr/bin/perl use warnings; use strict; open my $IN1, '<', 'infile_1' or die $!; open my $IN2, '<', 'infile_2' or die $!; open my $OUT, '>', 'test2' or die $!; while (my $in1 = <$IN1>) { chomp $in1; defined(my $in2 = <$IN2>) or die "file2 too short\n"; $in2 =~ s/\s//g; print {$OUT} join("\t", split /\s+/, $in1), "\t", join("\t", split //, $in2), "\n"; } die "file1 too short\n" if <$IN2>; close $OUT;