http://qs321.pair.com?node_id=1049483


in reply to YAPC::EU::2013 reg.ru Go Perl golf contest

I gave a lightning talk about this and heard that someone (falsely rumoured to be BooK) had managed 197, so I've pared this down to 184 by using map{} as suggested by Sergei Mozhaisky.
#!perl $_=++$/x11 .<>;map{$i=$-[0];{map{1while s/w((?<=W.{10})|(?<=W.)|(?=.{9}W|W))/W/s;/W((?<= .{10})|(?<= .)|(?=.{9 +} | ))/s||$i=~/./+print("$& $'\n")+last}"$`W$'"while/w/g}}"$`x$'"whil +e/ /g
#!perl $_= ++$ / x11 . <>; map { $i = $-[0]; { map { 1 while s/w((?<=W.{10})|(?<=W.)|(?=.{9}W|W))/W/s; /W((?<= .{10})|(?<= .)|(?=.{9} | ))/s || $i=~/./ + print("$& $'\n") + last } "$`W$'" while/w/g } } "$`x$'" while/ /g

UPDATE

Having stolen more ideas from Timur Nozadze I am now at 175

#!perl -ln0 map{$i=$-[0]+11;{map{1while s/w((?<=W.{10})|(?<=W.)|(?=.{9}W|W))/W/s;/W((?<= .{10})|(?<= .)|(?=.{9 +} | ))/s||$i=~/./+print("$& $'")+last}"$`W$'"while/w/g}}"$`x$'"while/ + /g
#!perl -ln0 map { $i=$-[0]+11; { map { 1 while s/w((?<=W.{10})|(?<=W.)|(?=.{9}W|W))/W/s; /W((?<= .{10})|(?<= .)|(?=.{9} | ))/s || $i=~/./ + print("$& $'") + last } "$`W$'" while/w/g } } "$`x$'" while/ /g