Squares Round 3 by yvl

a=" "*$$
gsub(/\.+/){a[i=$.*99+$`.size*2]="|#{"_"*($&.size*2-1).times{|k|a[k+=i-98]<?|&&a[k]^=?\x7f}}|"
a.sub! /_(?=.{98}\|)/m,' '}while gets
puts a.unpack"A99"*99

Note that non-ascii characters in the above source code will be escaped (such as \x9f).

download

return top