##
my $var = func1($a) + func2($a + 1);
####
my $var = do {
my ($temp1, $temp2);
my $thr1 = threads->new(sub { $temp1 = func1($a) })->start;
my $thr2 = threads->new(sub { $temp2 = func2($a+1) })->start;
$thr1->join;
$thr2->join;
$temp1 + $temp2
};
####
AUTOTHREADSUBEXPRS {
$var = func1($a) + func2($a+1);
}
####
use threadedsubexprs;
my $var = func1($a) + func2($a+1);