my $file = slurp "data.sm";
$file ~~ s:g/^^\s*end$$/\}/;
if ($file ~~ m/^^\s*doing\s(<[\w\-]>+)\s(\N+)$$/) -> *$m is copy {
$m = $m.list>>.Str;
my $names = gather for $m[1].split(", ") {take .split: ": "};
say $names;
say "($($names.map(':$' ~ *[0]).join(', '))) " ~
"\{my ($($names.map('$' ~ *[1]).join(', '))) = $($names.map('$' ~ *[0]).join(', '));\}";
}
sub test(:$from) {my \a = $from; say a}
say $file;
test from => 1;
doing a-loop from: a, to: b, do: block
a-loop from 1 to 5
say 1
end