Another 22 characters shaved off:
#!perl -ln0
$:='((?=W|.{9}W)|(?<=W.)|(?<=W.{10}))';{1while s/w$:/W/s;/ $:/gs>//gs&
+&print+("@-E-1"+1)=~y/./ /r;y/W/x/;s/w/W/&&redo}
EDIT: Down to 109. I’m starting to like it, but we can likely get this under 100.
#!perl -ln0
$,='((?=.(.{9})?g)|g(.{9})?\K)'until!s!$,w!g!s;$,=/$, /gs>//gs&&!map!y
+!.! !>print,"@-e-1"+1;y&g& &&&redo
EDIT2: While my first solution was correct, both solutions in this post have the same problem: if playing a single black stone captures multiple white groups, this move is printed multiple times. Here’s a 127 stroker that prints each move only once:
#!perl -ln0
map{1while$,=s=$,w=g=s?'(g|(?=.g|..{9}g)|g.{9})\K':/g/>/$, /s&&map{y!.
+! !;print;redo}/x/+"@+E-1"or y&g&b&}"$`x$'"while/ /g