You are missing a ! in the 1st line. Use echo, not print. print is for a different purpose in this case (check man print if you want to know).
A possible way:
$> cat mach.ksh
#!/usr/bin/ksh
function1()
{
echo one
echo two
}
function2()
{
echo three
}
printf "%s\n" "`(function1; function2)| tr -s '\n' ' '`"
exit 0
$> ./mach.ksh
one two three
---------- Post updated at 09:38 AM ---------- Previous update was at 09:33 AM ----------
or without tr:
$> cat mach.ksh
#!/usr/bin/ksh
function1()
{
echo one
echo two
}
function2()
{
echo three
}
VAR=`(function1; function2)`
echo $VAR
exit 0
$> ./mach.ksh
one two three