As others have pointed out, it is most likely that either $var1 or $var2 (or both) already contain a "\n" newline character which is causing an unwanted linebreak in the output. You may need to chomp them, or to pass them through a
$var1 =~ tr/\n//d; filter to strip newlines. However, maybe you don't
really want to completely and blindly strip newlines out of your data. You have to consider how it might somehow corrupt your data to blindly strip newlines without replacing them with some other delimiter.
At minimum, perhaps you want to substitute mid-string newlines with a space character so that you don't have run-on words. Do that like this:
chomp $var1; # Strip trailing newlines.
$var1 =~ s/\n(?=.)/ /g; # Any newline that isn't at the end
# of a string gets changed to one space.