> - This one is going to take a *little* longer to fill up your memory > but given infinite time this should do just fine. ;)
This one seems to fill up memory fast and is pretty simple loop: do$0 -- Marko P. Nippula <[EMAIL PROTECTED]>, WWW: http://www.hut.fi/~mnippula/ perl -0777pse '$k="åZWOK";if(s/$k$//){s/å(.)(.)/substr("$`å",-ord($1) -ord$2,ord$2)/esg}else{s/å/å\000\001/g;s/(?<!(?:å.|.å))([^å]{3,255})\ ([^å]{0,254}?)\1/"$1$2å".chr(1+length$2).chr(length$1)/sge;$_.=$k}'