Interestingly, changing
if to
while (and adding a
last before the closing curly brace) moves the second destruction to line 28 (the previous
print, but I guess it just means the end of the loop.
I've read somewhere it's an unwanted consequence of the implementation of else which needs to access the variables from the if condition, so they need to live a bit longer. In that case, I'd expect continue to have the same effect, but it clearly doesn't work that way.
map{substr$_->[0],$_->[1]||0,1}[\*||{},3],[[]],[ref qr-1,-,-1],[{}],[sub{}^*ARGV,3]