in reply to Can't coerce UNKNOWN to string in substitution iterator

I can confirm the behaviour in 5.18.2 and 5.20.1, but running the code in blead (720c8c4f57a8be0960c9068d899e9d111e143382) finishes the code without error.

Check also splain for the message:

Can't coerce UNKNOWN to string in substitution iterator at - line 11, +<> line 12 (#1) (F) Certain types of SVs, in particular real symbol table entries (typeglobs), can't be forced to stop being what they are. So you +can't say things like: *foo += 1; You CAN say $foo = *foo; $foo += 1; but then $foo no longer contains a glob.

($q=q:Sq=~/;[c](.)(.)/;chr(-||-|5+lengthSq)`"S|oS2"`map{chr |+ord }map{substrSq`S_+|`|}3E|-|`7**2-3:)=~y+S|`+$1,++print+eval$q,q,a,