fails:String#sub with pattern and block restores $~ after leaving the block
