use strict;
use warnings;
####
open $USER1, '<', $userfile1 or die "Couldn't open file: $userfile1 - $!";
...
while(<$USER1>) { ...
####
open $OUT, '>', "CONCATENATED_FILES";
...
open $USER1, '<', $userfile1;
####
use autodie;
####
use strict;
use warnings;
use File::Slurp qw/read_file/;
use List::MoreUtils qw/zip/;
chomp( my @file1 = read_file $ARGV[0] );
chomp( my @file2 = read_file $ARGV[1] );
my @combined = zip @file1, @file2;
for my $i ( 0 .. $#file1 ) {
last if !defined $file1[$i] or !defined $file2[$i];
print "$file1[$i]\t$file2[$i]\n";
}