Thank you for reviewing all the proposals. Instead of just "soft semicolon" :-)
5a: I guess this is a decent one.
Some progress :-).
8a: It's not hard to check if the return value of index is below a certain limit.
No. For example, in bioinformatics FASTA sequences the string can be several gigabytes. You need to use substr right now to limit the search area.
9a: Umm, when is already allowed in for loops.
There are a couple of unresolved problems. You need to suppress "when is experimental" warning to use it with
no warnings 'experimental::smartmatch';
and the form when('a') involves smart matching as as such might not work in future releases. So it is essential to disable smart matching in when in order to use it (in this case the syntax should be when( $_ eq 'a')... and the form when('a') should generate an error, which I do not think is currently possible.