in reply to map BLOCK evaluation context

Isn't it simply because invoking the boolean OR forces the scalar evaluation of /(\S+)/g ?

Update: tobyink was quicker than me on this.