I don't see that this buys us anything over just shortening "sprintf" to something shorter, like:
print as '%03d %15s', $foo, $bar;
And your argument list falls out naturally from making "as" a listop. Plus it naturally lets you say other "as-ly" things:
print as MyBigInt, $foo, $bar;
This seems to have some overlap with the "form" listop in E7. Do we need both, or will we make c<Form> a possible 1st arg to C<<as>. Eg, (modified from the first E7 example):
sub myster_rite { our ($name, $age, $ID, $comments); print as Form :interleave <<'.' =================================== | NAME | AGE | ID NUMBER | |----------+------------+-----------| | {<<<<<<} | {||||||||} | {>>>>>>>} | |===================================| | COMMENTS | |-----------------------------------| | {[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[} | =================================== . $name, $age, $ID, $comments; }