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.