Can I capture the returned value of a routine used in RUN-MAIN?
You could use the function composition operator infix:<∘>
or infix:<o>
sub foo ($name, Int $n=1) {
"Hello $name\n" xx $n
};
RUN-MAIN &say o &foo, Nil; #or &foo Ro &say
but unfortunately, it is changing the signature
sub foo ($name, Int $n=1) {
"Hello $name\n" xx $n
};
say &foo.signature;
say (&foo Ro &say).signature;
so default USAGE
message does not work.
The following seems to accomplish what I intended (where foo
is the target sub).
RUN-MAIN( &foo, Nil );
sub MAIN ( |c --> Nil ) {
foo(|c).say;
}
EDIT: Unfortunately this solution is not ideal, as it runs &foo twice.