in reply to Unexpected qr// behavior

Yes, there is sense in that.

The regexp works by constructing a finite state engine through which you feed characters to see if it will stop in one of the final states (CS terminology, here. Sorry I can't use simpler terms).

The transitions in this state machine are not altered by the captures. They are not altered by the g modifier - since that modifier merely states that the machine will be rerun until it no longer matches.

The s modifier, however alters the way the state machine behaves - "." now matches the newline. Any transitions in the state engine which involve matching a "." are altered.

The i affects the state machine pretty radically, too. I bet you can't add it later, just like you can't add the g.