use Test::More 'no_plan';
use Contextual::Return;
sub scalar_only {
return (
SCALAR { "scalar" }
);
}
is join(q{ }, qw(It got a), scalar_only()), "It got a scalar" => 'Fell back to scalar';
sub str_num {
return (
STR { "scalar" }
NUM { 1 }
);
}
is join(q{ }, qw(It got a), str_num()), "It got a scalar" => 'Fell back to str';
is join(q{ }, qw(It got a), 0+str_num()), "It got a 1" => 'Fell back to num';
sub num_only {
return (
NUM { 1 }
);
}
is join(q{ }, qw(It got a), num_only()), "It got a 1" => 'Fell back to num';
sub listy {
return (
LIST { qw(list of strings) }
STR { "scalar" }
NUM { 1 }
);
}
is join(q{ }, qw(It got a), listy()), "It got a list of strings"
=> 'List not preempted';